Gradle / IntelliJ IDEA:sourceCompatibility 恢复到 IDE 设置中的先前值
Gradle / IntelliJ IDEA: sourceCompatibility revert to previous value in IDE settings
将 sourceCompatibility
和 targetCompatibility
设置为 JavaVersion.VERSION_11
在我的 IntelliJ/Grade/Java 项目中没有预期效果。
即使我将 Project SDK 和 Project Language Level in Project Structure 手动设置为 11 ,在我 刷新 Gradle 项目(或导入更改)后,它恢复为 8 和 6。见下图:
为了确保我创建了一个新项目并在其中进行了测试。这是它的树视图:
唯一的build.gradle文件:
plugins {
id 'java'
}
group 'test'
version '1.0-SNAPSHOT'
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
Gradle 版本是 4.10.2
正如你在 gradle-wrapper.properties 文件中看到的那样:
#Tue Nov 13 00:53:45 IRST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
这是环境信息:
IntelliJ IDEA 2018.1.5 (Community Edition)
Build #IC-181.5281.24, built on June 12, 2018
JRE: 1.8.0_152-release-1136-b39 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
这是来自我的 SDK 的图像:
另外,根据this answer,我对build.gradle进行了如下配置,但问题依旧:
group 'test'
version '1.0-SNAPSHOT'
allprojects {
apply plugin: 'java'
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
repositories {
...
并且下面的配置也是根据 another answer 在同一个 post:
group 'test'
version '1.0-SNAPSHOT'
allprojects {
apply plugin: 'java'
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
repositories {
...
对于此类工具兼容性问题,您可以将 IDE 版本升级到 >= 2018.2 版本。
引用 JetBrains 博客 #Java11 in IntelliJ IDEA 2018.2
The next version of Java is due out in September, and IntelliJ IDEA 2018.2 is ready for it.
将 sourceCompatibility
和 targetCompatibility
设置为 JavaVersion.VERSION_11
在我的 IntelliJ/Grade/Java 项目中没有预期效果。
即使我将 Project SDK 和 Project Language Level in Project Structure 手动设置为 11 ,在我 刷新 Gradle 项目(或导入更改)后,它恢复为 8 和 6。见下图:
为了确保我创建了一个新项目并在其中进行了测试。这是它的树视图:
唯一的build.gradle文件:
plugins {
id 'java'
}
group 'test'
version '1.0-SNAPSHOT'
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
Gradle 版本是 4.10.2
正如你在 gradle-wrapper.properties 文件中看到的那样:
#Tue Nov 13 00:53:45 IRST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
这是环境信息:
IntelliJ IDEA 2018.1.5 (Community Edition)
Build #IC-181.5281.24, built on June 12, 2018
JRE: 1.8.0_152-release-1136-b39 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
这是来自我的 SDK 的图像:
另外,根据this answer,我对build.gradle进行了如下配置,但问题依旧:
group 'test'
version '1.0-SNAPSHOT'
allprojects {
apply plugin: 'java'
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
repositories {
...
并且下面的配置也是根据 another answer 在同一个 post:
group 'test'
version '1.0-SNAPSHOT'
allprojects {
apply plugin: 'java'
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
repositories {
...
对于此类工具兼容性问题,您可以将 IDE 版本升级到 >= 2018.2 版本。
引用 JetBrains 博客 #Java11 in IntelliJ IDEA 2018.2
The next version of Java is due out in September, and IntelliJ IDEA 2018.2 is ready for it.