用于 kotlin 代码的 gradle 构建

Posted

技术标签:

【中文标题】用于 kotlin 代码的 gradle 构建【英文标题】:gradle build for kotlin code 【发布时间】:2018-05-22 23:44:55 【问题描述】:

我正在尝试建立一个使用 Gradle 构建 Kotlin 代码的项目。我已按照说明 here 设置 build.gradle 文件,但收到错误消息

buildscript 
    repositories 
        mavenCentral()
        jcenter()
    
    dependencies 
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0'
    


apply plugin: 'kotlin'

这样我得到了错误:

FAILURE:构建失败并出现异常。

出了什么问题: 配置根项目“kjsonparser”时出现问题。 无法解析配置 ':classpath' 的所有文件。 无法解析 org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0。 要求: 项目 : 无法解析 org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0。 无法获取资源“https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.2.0/kotlin-gradle-plugin-1.2.0.pom”。 无法获取“https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.2.0/kotlin-gradle-plugin-1.2.0.pom”。 java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须为非空

我也尝试过指定插件的“更新”方式

plugins 
    id "org.jetbrains.kotlin.jvm" version "1.2.0"

这给出了这个错误:

出了什么问题: 在以下任何来源中都找不到插件 [id: 'org.jetbrains.kotlin.jvm', version: '1.2.0']:

Gradle 核心插件(插件不在 'org.gradle' 命名空间中) - 插件存储库(无法解析插件工件>'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.2.0') 在以下存储库中搜索: Gradle Central 插件库

Gradle 版本

gradle -version

------------------------------------------------------------
Gradle 4.4

Kotlin(和 openjdk) kotlin 版本 Kotlin 版本 1.2.0 (JRE 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)

在 Ubuntu 17.10 上运行

我以前从未使用过 Gradle,所以不确定我是否遗漏了构建文件中的任何内容

【问题讨论】:

看起来应该可以使用 - 您确定您的互联网连接正常吗?错误表明这个有问题 是的,肯定连接到互联网,我可以从 OP 获取 repo.maven.appache.org 链接 【参考方案1】:

试试这个。它有效:

buildscript 
    ext.kotlin_version = '1.2.10'

    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"

【讨论】:

【参考方案2】:

我从不使用buildscript 块。 试试这个:

plugins 
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.4.31'


repositories 
    mavenCentral()
    jcenter()



dependencies 
    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.4.31'

【讨论】:

以上是关于用于 kotlin 代码的 gradle 构建的主要内容,如果未能解决你的问题,请参考以下文章

用于使用 gradle (1.1.2-5) 构建的 kotlin 版本与捆绑到 IDE 插件 (1.1.2-4) 中的版本不同

如何在Kotlin中使用Gradle构建缓存?

带有 kotlin 设置问题的 Spring Boot gradle 项目

Gradle Kotlin DSL:在独特的地方定义 Kotlin 版本

如何解析和修改build.gradle.kts Kotlin Gradle构建脚本?

如何为 Kotlin (Gradle) 构建导入 ShadowJar 插件?