如何创建使用Gradle构建的Kotlin项目?

Lau*_*ves 8 intellij-idea gradle kotlin

我正在尝试使用IntelliJ IDEA创建一个使用Gradle构建的新Kotlin项目(Ubuntu 16.04上的2016.2.5).当我这样做时,我立即收到错误消息.

这是我正在尝试的:

  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
Run Code Online (Sandbox Code Playgroud)

生成的内容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"
}
Run Code Online (Sandbox Code Playgroud)

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

hot*_*key 6

在你的build.gradle,改为ext.kotlin_version:

 ext.kotlin_version = '1.1-M02'
Run Code Online (Sandbox Code Playgroud)

这是一个小错误,IDE插件将自己的版本放入构建脚本,而不是Kotlin版本.

并且还将1.1 EAP存储库添加到repositories两个buildscript和根范围:

repositories {
    // ...
    maven { url "http://dl.bintray.com/kotlin/kotlin-eap-1.1" }
}
Run Code Online (Sandbox Code Playgroud)

与EAP版本相关的Kotlin工件不像公共版本那样放入Maven Central,并且此存储库不会自动添加到生成的构建脚本中.

然后刷新Gradle项目,构建应该通过.

随意查看build.gradle文件.