科特林-STDLIB-jre7已经过时了。 请使用科特林-STDLIB-JDK7代替 科特林-S

2019-05-11 20:07发布

昨天我更新的Android Studio版本和科特林插件版本。

Android的Studio版本:3.1.2

科特林版本:41年2月1日

当我使用此配置创建一个Android项目,我得到科特林编译器警告说

女:/home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6f582de73d9cdc6c56ef4e23604a0ee55768/kotlin-stdlib-jre7-1.2.41.jar:科特林-STDLIB-jre7已经过时了。 请使用科特林-STDLIB-JDK7代替

改变每个建议,然后我收到以下错误

意想不到输入:ImmutableJarInput {名称= org.jetbrains.kotlin:科特林-STDLIB-jre7:41年2月1日,文件= /家庭/ ganeshtikone /工作区/五月-2018 / FHS /应用程序/生成/中间体/变换/ desugar /级/调试/ 45.jar,CONTENTTYPES = CLASSES,范围= EXTERNAL_LIBRARIES,状态= REMOVED}

Answer 1:

转到工具>科特林>配置科特林插件更新和检查更新,然后在你的应用程序文件的gradle与JDK JRE替换

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"


Answer 2:

重要更新

设定配置前必须检查JDK版本

科特林gradle这个配置页有详细的这方面的信息。

首先,在gradle这个文件检查科特林版本。

如果( kotlin_version == '1.2.x'使用jdkjre

首先检查在文件>项目结构你的JDK版本。

或者,在检查build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

如果(jdk_version == 1.8)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

如果(jdk_version == 1.7)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

如果(jdk_version是<1.7)

implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

否则,如果(NO JDK版本设置在项目结构)

if(Android_Studio_Version < 2.2.1){
   your_jdk_version = 1.7;
}
else {
   your_jdk_version = 1.8;
}

由于Android工作室与JDK 1.8捆绑在一起,因为2.2.1版本 。

2.否则,如果( kotlin_version == '1.1.x' )(使用JRE不JDK)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // or jre8

更新版本科特林?

您可以从更新工具版本科特林>科特林>配置科特林更新



Answer 3:

事情是及物动词导入这些库。 运行摇篮任务dependencies弄清楚什么。

就我而言,这是io.vertx:vertx-lang-kotlin-coroutines:3.5.1

如果没有为依赖没有更新,没有什么可以做这件事



Answer 4:

看完后科特林摇篮脚本主题我发现,一些ponits

如果你的目标JDK 7或JDK 8,你可以使用包含在新的JDK版本添加的API附加扩展功能科特林标准库的扩展版本。 相反科特林-STDLIB的,请使用以下的一个依赖:

编译 “org.jetbrains.kotlin:科特林-STDLIB-JDK7”
编译 “org.jetbrains.kotlin:科特林-STDLIB-jdk8”

在我的项目:我使用的实现“科特林-STDLIB-jdk8 org.jetbrains.kotlin”。 我想这是因为在build.graddle设置compileOptions的

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}


Answer 5:

你必须交换下面的代码:

     implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

没有JRE> JDK

     implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"


文章来源: kotlin-stdlib-jre7 is deprecated. Please use kotlin-stdlib-jdk7 instead