代码之家  ›  专栏  ›  技术社区  ›  Dan Macak

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

  •  2
  • Dan Macak  · 技术社区  · 7 年前

    我尝试了从2个最好的答案到 same problem (虽然来自Java世界)但对我来说什么都不管用。我也搬到了格拉德尔,希望能克服这个问题,但这也没用。除了上述所谓的问题,我去了很多论坛,得到的建议总是和上述所谓的答案一样。

    所以问题是,如何防止Idea在重新导入后切换目标Java版本?

    1 回复  |  直到 7 年前
        1
  •  8
  •   Dan Macak    7 年前

    因此,经过多次尝试;错误尝试我发现Idea选择了1.6版本,因为这是Kotlin的默认JVM目标版本,而我在任何地方都没有设置1.8版本 pom.xml文件 构建.gradle . 如果没有定义这个版本,Idea显然倾向于忽略项目设置并坚持默认值。

    这意味着解决办法是 手动设置kotlin插件中的版本 question dealing with the same problem but in Java .

    格拉德尔 构建.gradle kotlin's docu on how to use it with Gradle . 但这还不够,因此您必须在该文档中向下滚动并找到 kotlin compile options , jvmTarget 特别地。在这里,您将发现版本1.6确实是默认的,您可以在中继续配置编译任务 构建.gradle

    compileKotlin { kotlinOptions.jvmTarget = 1.8 }

    瞧,现在每次重新导入都是1.8。如果你使用Maven,还有一个插件你可以使用(只是谷歌它),我相信会有相同的 JVM目标 尽管我还没试过,但你可以随意安排。

        2
  •  1
  •   AndreyKo    7 年前

    解决方法:

      compileKotlin {
        kotlinOptions.jvmTarget = 1.8
      }
    

    推荐文章