Gradle无法下载Kotlin存储库
我正在使用Gradle
构建Kotlin
简单的Hello-Worl
我的build.gradle
是:
/* * This build file was generated by the Gradle 'init' task. * * This generated file contains a commented-out sample Java project to get you started. * For more details take a look at the Java Quickstart chapter in the Gradle * user guide available at https://docs.gradle.org/4.3.1/userguide/tutorial_java_projects.html */ // Apply the java plugin to add support for Kotlin apply plugin: 'kotlin' /* plugins { id "org.jetbrains.kotlin.jvm" version "1.1.60" } */ buildscript { ext.kotlin_version = '1.1.60' // In this section you declare where to find the dependencies of your project repositories { mavenCentral() // jcenter() } // In this section you declare the dependencies for your production and test code dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } sourceSets { main.kotlin.srcDirs += 'src/kotlin' main.resources.srcDirs += 'src/resources' } dependencies { compile 'org.slf4j:slf4j-api:1.7.7' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" testCompile 'junit:junit:4.12' } kotlin { experimental { coroutines 'enable' } } compileKotlin { kotlinOptions.suppressWarnings = true } compileKotlin { kotlinOptions { suppressWarnings = true } }
和Main.kt
是:
fun main(args: Array) { println("kotlin!") }
在运行Gradle buil
,我得到了下面的错误:
注意: – 我是新来的gradle
所以建立它如下2个步骤:
步骤1:
第2步:
UPDATE
根据第一个答案,我尝试在本地获取文件,我创建了另一个名为lib
文件夹,并将* .jar文件下载到它,所以我得到了gradle.build
,如下所示:
buildscript { ext.kotlin_version = '1.1.60' repositories { flatDir { dirs 'libs' } } dependencies { classpath fileTree(include: ['*.jar'], dir: 'libs') classpath files('kotlin-gradle-plugin-1.1.60.jar') } } apply plugin: 'kotlin' sourceSets { main.kotlin.srcDirs += 'src/kotlin' main.resources.srcDirs += 'src/resources' } dependencies { compile 'org.slf4j:slf4j-api:1.7.7' compile name: 'kotlin-stdlib-1.1.60' testCompile 'junit:junit:4.12' } kotlin { experimental { coroutines 'enable' } } compileKotlin { kotlinOptions.suppressWarnings = true } compileKotlin { kotlinOptions { suppressWarnings = true } }
下面修改的结构和新的错误我得到了:
UPDATE
U将所有必需的存储库.jar和.pom复制到文件夹中:
C:\用户\ .m2目录\库\组织\ JetBrains公司\
我复制了例如:… \ kotlin \ kotlin-std \ 1.1.60 \ kotlin-stdlib-1.1.60.jar并且… \ annotations \ 13.0 \ annotations-13.0.jar
并用过
mavenLocal()
但仍然得到相同的错误:(
我发现问题与我们的公司代理,阻止这样的事情,所以我解决了这个问题,通过下载我的孔笔记本电脑中所需的存储库,然后复制到公司之一。
首先,我创建了一个单独的文件夹,命名为jars
。
之后,我从这里下载了所需的文件,并将其保存在jars
文件夹中。
然后,我使用以下命令将其安装到本地存储库中:
mvn install:install-file -Dfile=utility.jar -DgroupId=com.company -DartifactId=utility -Dversion=0.0.1 -Dpackaging=jar
如:
mvn install:install-file -Dfile=kotlin-stdlib-1.1.60.jar -DgroupId=org.jetbrains.kotlin -DartifactId=kotlin-stdlib -Dversion=1.1.60 -Dpackaging=jar
笔记:
为了正确地做到上述事情, maven
需要从这里下载并添加到path
。
上面的命令需要从包含下载的仓库的jars
文件夹中运行:
然后我发现版本库已经被下载到C:\Users\
文件夹中:
在将它们复制到我的办公室笔记本电脑后,我从mavenLocal()
调用它们:
repositories { mavenCentral() mavenLocal() } dependencies { compile ("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version") }
UPDATE
要在一次拍摄中下载完整的存储库,而不是逐个下载所需的文件,则可以使用以下命令:
mvn dependency:get -DrepoUrl=something -Dartifact=group:artifact:version
如:
mvn dependency:get -DrepoUrl=https://mvnrepository.com/artifact/org.jetbrains.kotlin -Dartifact=org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.60
由于某种原因,3个文件无法下载,所以我得到他们手动下载和安装按照最初的解释,文件是:
org.jetbrains.kotlin:kotlin-android-extensions:jar:original:1.1.60 => 这里
org.jetbrains.kotlin:kotlin-compiler-runner:jar:original:1.1.60 => here
org.jetbrains.kotlin:kotlin-build-common:jar:tests:1.1.60 => here
并使用以下命令安装它们:
mvn install:install-file -Dfile=kotlin-android-extensions-1.1.60.jar -DgroupId=org.jetbrains.kotlin -DartifactId=kotlin-android-extensions -Dversion=1.1.60 -Dpackaging=jar mvn install:install-file -Dfile=kotlin-compiler-runner-1.1.60.jar -DgroupId=org.jetbrains.kotlin -DartifactId=kotlin-compiler-runner -Dversion=1.1.60 -Dpackaging=jar mvn install:install-file -Dfile=kotlin-build-common-1.1.60.jar -DgroupId=org.jetbrains.kotlin -DartifactId=kotlin-build-common -Dversion=1.1.60 -Dpackaging=jar
考虑到以上所做的,下面的build.gradle
完美的为我工作:
// set up the kotlin-gradle plugin buildscript { ext.kotlin_version = '1.1.60' repositories { mavenLocal() // mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } // apply the kotlin-gradle plugin apply plugin: "kotlin" // add kotlin-stdlib dependencies. repositories { mavenLocal() // mavenCentral() } dependencies { //dependencies from a remote repositor compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" //local file, that are not coming from repository, let's say my own jar files compile files('libs/Display.jar') compile fileTree(dir: 'libs', include: '*.jar') } jar { manifest { //Define mainClassName as: '[your_namespace].[your_arctifact]Kt' attributes ('Main-Class': 'MainKt', "Implementation-Title": "Gradle", "Implementation-Version": 1) } // NEW LINE HERE !!! from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } sourceSets { main.kotlin.srcDirs += 'src/kotlin' main.resources.srcDirs += 'src/resources' } kotlin { experimental.coroutines 'enable' } compileKotlin { kotlinOptions.jvmTarget= 1.8 // optional, Minimum jvmTarget of 1.8 needed since Kotlin 1.1 kotlinOptions.suppressWarnings = true }
- Gradle – 以非零退出值完成1
- Gradle kotlin不支持的方法Dependencies.getAtoms()
- 测试包不读取主包中定义的Kotlin类
- 在intellij中运行并执行jar时的微妙差异
- 转换Android项目使用Gradle脚本Kotlin
- 无法运行jar文件。 (错误:无法find或加载主类co.pissarra.Mainkt)
- Android Studio版本3.0 Canary Channel不渲染支持库
- Android:仪器运行失败,由于“java.lang.ClassNotFoundException”:未找到测试
- 为什么不能Intellij Idea Console暂停用户输入