Gradle / IntelliJ IDEA: исходная совместимость возвращается к предыдущему значению в настройках IDE

Установка sourceCompatibility и targetCompatibility на JavaVersion.VERSION_11 не дала ожидаемого эффекта в моем проекте IntelliJ/Grade/Java.

Даже если я установил Project SDK и Уровень языка проекта в Структура проекта вручную на 11, он вернулся к 8 и 6 после того, как я обновил Gradle проекта (или Импортировать изменения). См. изображение ниже:

введите описание изображения здесь


Чтобы убедиться, что я создал новый проект и протестировал их в нем. Это его вид в виде дерева:

введите описание изображения здесь

Единственный файл 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:

введите описание изображения здесь


Кроме того, в соответствии с этим ответом, я сделал приведенную ниже конфигурацию для build.gradle, но проблема сохраняется:

group 'test'
version '1.0-SNAPSHOT'

allprojects {
    apply plugin: 'java'
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

repositories {
    ...

А также ниже конфигурация в соответствии с другим ответом в том же сообщении:

group 'test'
version '1.0-SNAPSHOT'

allprojects {
    apply plugin: 'java'

    tasks.withType(JavaCompile) {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
}

repositories {
    ...

person Mir-Ismaili    schedule 23.11.2018    source источник


Ответы (1)


Для таких проблем совместимость инструментов имеет значение, вы можете обновить версию IDE до версии >= 2018.2.

Цитирование блога JetBrains #Java11 в IntelliJ ИДЕЯ 2018.2

Следующая версия Java должна выйти в сентябре, и IntelliJ IDEA 2018.2 к ней готова.

person Naman    schedule 18.12.2018