gpt4 book ai didi

java - Idea 不断将 Kotlin 的编译目标从 1.8 切换到 1.6

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:05 24 4
gpt4 key购买 nike

我正在使用 Intellij Idea 开发一个基于 Maven 和 JDK 8 的新 Kotlin 项目。一切都很好,除了在每次 Maven 重新导入之后,由于某种原因编译目标从 1.8 切换到 1.6。

我确实尝试了从 2 个最佳答案到 same problem 的所有方法(尽管来自 Java 世界)但对我没有任何帮助。我也迁移到 Gradle,希望能解决这个问题,但这也无济于事。除了提到的 SO 问题之外,我浏览了大量的论坛,并且建议始终与提到的 SO 答案中的建议相同。

那么问题来了,如何防止Idea重新导入后切换目标Java版本呢?

最佳答案

因此,经过大量尝试和错误尝试后,我发现 Idea 选择了 1.6 版本,因为这是 Kotlin 的默认 JVM 目标版本,而我没有在 pom.xml 中的任何地方设置 1.8 版本或build.gradle。如果这里没有定义这个版本,Idea 显然倾向于忽略项目设置并坚持默认设置。

这意味着解决方案是在 kotlin 插件中手动设置版本,但首先要确保您已完成 question dealing with the same problem but in Java 的已接受答案中列出的所有内容。 .

现在,假设您正在使用 Gradle(迁移后我一直使用它),您应该按照说明将 kotlin 插件包含在您的 build.gradle 中,如所写在 kotlin's docu on how to use it with Gradle .但这还不够,所以您必须在该文档中向下滚动并找到 kotlin compile options ,特别是 jvmTarget。在那里你会发现版本 1.6 确实是默认版本,你可以继续在 build.gradle 中配置你的编译任务:

编译Kotlin {
kotlinOptions.jvmTarget = 1.8
}

瞧,现在每次重新导入都坚持使用 1.8。如果您使用 Maven,还有一个您可以使用的插件(只需用谷歌搜索),我相信会有相同的 jvmTarget 设置供您使用,尽管我还没有尝试过。

关于java - Idea 不断将 Kotlin 的编译目标从 1.8 切换到 1.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52909575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com