如何创建一个可以使用Gradle构建的Kotlin项目?

8
我正在尝试使用IntelliJ IDEA(在Ubuntu 16.04上的2016.2.5版本)创建一个使用Gradle构建的新Kotlin项目。但是当我这样做时,我立即收到错误信息。
以下是我的操作步骤: 1. 从欢迎屏幕中选择“创建新项目”。 2. 从左侧窗格选择“Gradle”,从右侧选择“Kotlin(Java)”,然后单击“下一步”。 3. 将"hello-world"输入ArtifactId,然后单击“下一步”。 4. 确保选择了“从源设置创建单独的模块”和“使用默认的Gradle包装程序”,而没有选择其他任何选项,然后单击“下一步”。 5. 使用默认值为项目名称和位置,然后单击“完成”。
然后我立即收到此错误:
Gradle 'hello-world' project refresh failed

Error: Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.1-M02-12.
       Searched in the following locations:
           https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1-M02-12/kotlin-gradle-plugin-1.1-M02-12.pom
           https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1-M02-12/kotlin-gradle-plugin-1.1-M02-12.jar
       Required by:
           :hello-world:unspecified

生成的 build.gradle 文件如下所示:
version '1.0-SNAPSHOT'

buildscript {
    ext.kotlin_version = '1.1-M02-12'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

如何创建一个正确使用Gradle构建的Kotlin项目?

我按照您在Intellij IDEA(2018.3版本)上创建支持Kotlin的Gradle项目的指示进行操作,至少现在它可以正常工作而没有任何问题。即使是依赖项也是如此。也许他们已经大幅改进了它。 - xarlymg89
1个回答

6
在你的 build.gradle 文件中,将 ext.kotlin_version 改为:
 ext.kotlin_version = '1.1-M02'

这是一个小bug,IDE插件在构建脚本中加入了自己的版本而非Kotlin版本。同时,在buildscript和根作用域的repositories中添加1.1 EAP仓库。
repositories {
    // ...
    maven { url "http://dl.bintray.com/kotlin/kotlin-eap-1.1" }
}

与公共发布版本相关的Kotlin构件未放置在Maven Central中,而且此存储库不会自动添加到生成的构建脚本中。然后刷新Gradle项目,构建应该通过。请随意检查this build.gradle file

更新了答案,因为它缺少了EAP存储库,并添加了一个示例链接。 - hotkey
谢谢!看起来问题已经解决了。虽然我不太同意一个导致基本情况下输出错误的漏洞是微小的…… - Laurence Gonsalves
我遇到了一个错误,提示“未索引的远程Maven存储库”,指的是http://dl.bintray.com/kotlin/kotlin-eap-1.1 URL。如果我打开仓库列表,该URL会以红色突出显示,并在“已更新”列中显示“错误”。 - Laurence Gonsalves
我得到了完全相同的错误,@LaurenceGonsalves,你解决了吗?如果我把鼠标放在上面,它会显示“资源nexus-maven-repository-index.properties不存在”。 - elect
@elect 不,我从未解决那个问题。如果你找到了解决方法,我很想听听你的经验。 - Laurence Gonsalves
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接