IntelliJ IDEA的Gradle语言水平如何确定?

tnu*_*mak 16 intellij-idea gradle

IntelliJ附带的JetGradle插件显示我的项目存在冲突.它说我的IDE语言级别是1.7,而我的Gradle语言级别是1.6.

以下代码为所有内容打印1.7:

compileJava {
    println project.sourceCompatibility
    println project.targetCompatibility
    println sourceCompatibility
    println targetCompatibility
}
Run Code Online (Sandbox Code Playgroud)

从命令行运行Gradle工作正常.在IDEA中运行它也可以.这两个都使用1.7 JDK.我的IDEA项目和模块也配置为使用1.7.

当我通过Gradle构建脚本导入项目时,版本默认为1.6.我已将其更改为1.7.

什么是"Gradle语言级别",如何修改它?

谢谢!

Mat*_*att 9

Gradle没有通过工具api公开语言级别,所以我认为这只是intellij中定义的"默认项目"语言.

您可以在此jetbrains youtrack票证中查看详细信息并追溯到相应的gradle问题

至于"如何解决它",我认为唯一真正的选择是不使用使用jetgradle并使用gradle idea插件.Intellij 12.1将有一个大大改进的jetgradle插件,但如果信息不在工具api上,那么很难看出如何解决这个问题.

编辑:Gradle刚刚发布了一个2.11的RC(最后!)包括这个功能,请参阅发行说明了解详细信息,这解释了这个工具api(即intellij jetgradle)和gradle idea插件的支持.

  • 我们在Gradle 15.0和*仍未*修复 (2认同)