Gradle 无法下载 Kotlin 存储库
Gradle fail to download Kotlin repository
我正在使用 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<String>) {
println("kotlin!")
}
在 运行 Gradle buil
后,我收到以下错误:
备注:
- 我是 gradle
的新手,所以按以下 2 步构建它:
第一步:
第 2 步:
更新
根据第一个答案,我尝试在本地获取文件,我创建了另一个名为 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
}
}
下面修改后的结构和新的错误我得到:
更新
U 将所有需要的存储库 .jar 和 .pom 复制到文件夹:
C:\用户\.m2\repository\org\jetbrains\
我复制了例如:
...\kotlin\kotlin-std.1.60\kotlin-stdlib-1.1.60.jar
和
...\annotations.0\annotations-13.0.jar
并使用
mavenLocal()
但仍然出现同样的错误:(
我发现问题出在我们公司的代理上,阻止了这样的事情发生,所以我通过在我的笔记本电脑上下载所需的存储库然后将它们复制到公司的一台来解决这个问题。
首先,我创建了一个单独的文件夹,将其命名为jars
。
之后我从 here 下载了所需的文件并将其保存在 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
备注:
要正确执行上述操作,需要从 here 下载 maven
并添加到 path
。
上面的命令需要 运行 来自 jars
文件夹,其中包含下载的存储库:
然后我发现存储库已经下载到C:\Users\<user>\.m2\
文件夹中:
将它们复制到我办公室的笔记本电脑后,我从 mavenLocal()
:
给它们打电话
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile ("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
}
更新
要一次下载完整的存储库而不是一个一个地下载所需的文件,则可以使用以下命令:
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 => here
org.jetbrains.kotlin:kotlin-compiler-运行ner: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
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<String>) {
println("kotlin!")
}
在 运行 Gradle buil
后,我收到以下错误:
备注:
- 我是 gradle
的新手,所以按以下 2 步构建它:
第一步:
第 2 步:
更新
根据第一个答案,我尝试在本地获取文件,我创建了另一个名为 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
}
}
下面修改后的结构和新的错误我得到:
更新
U 将所有需要的存储库 .jar 和 .pom 复制到文件夹:
C:\用户\.m2\repository\org\jetbrains\
我复制了例如: ...\kotlin\kotlin-std.1.60\kotlin-stdlib-1.1.60.jar 和 ...\annotations.0\annotations-13.0.jar
并使用
mavenLocal()
但仍然出现同样的错误:(
我发现问题出在我们公司的代理上,阻止了这样的事情发生,所以我通过在我的笔记本电脑上下载所需的存储库然后将它们复制到公司的一台来解决这个问题。
首先,我创建了一个单独的文件夹,将其命名为jars
。
之后我从 here 下载了所需的文件并将其保存在 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
备注:
要正确执行上述操作,需要从 here 下载 maven
并添加到 path
。
上面的命令需要 运行 来自 jars
文件夹,其中包含下载的存储库:
然后我发现存储库已经下载到C:\Users\<user>\.m2\
文件夹中:
将它们复制到我办公室的笔记本电脑后,我从 mavenLocal()
:
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile ("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
}
更新
要一次下载完整的存储库而不是一个一个地下载所需的文件,则可以使用以下命令:
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 => here
org.jetbrains.kotlin:kotlin-compiler-运行ner: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
}