Не могу скомпилировать с jdk 11 в IntelliJ, не могу найти символ - PullRequest
0 голосов
/ 26 сентября 2018

Я установил JDK 11, он компилируется, пока я не использую новый метод Java 11 isBlank() строки, когда я использую этот метод, эта ошибка появляется при компиляции, я пытался очистить установки JDK, очистить кэш от IntelliJ, перестроитьно ничего не помогает.Ошибка:

enter image description here

Ответы [ 4 ]

0 голосов
/ 29 марта 2019

В моем случае, он даже не показывал 11 на уровне проекта.Поэтому мне пришлось выбрать X, как показано на скриншоте ниже

enter image description here

0 голосов
/ 26 сентября 2018

Попробуйте установить целевую версию байт-кода компилятора равной 11.

Для этого перейдите на Settings - Build Execution Deployment - Compiler - Java compiler и установите целевую версию байт-кода вашего модуля на 11.

0 голосов
/ 27 сентября 2018

Вы должны проверить следующие вещи:

  1. Ваш JDK11 определен как один из SDK: enter image description here
  2. SDK вашего проекта по умолчанию - JDK11и уровень владения языком в ваших проектах по умолчанию равен 11: enter image description here
  3. Уровень языка вашего модуля также равен 11. enter image description here

А если вы используете Maven, убедитесь, что в вашем pom.xml свойствах исходного кода и целевого модуля вашего компилятора равны 11. Ваша конфигурация уровня языка модуля импортируется из этой pom.xml конфигурации, в таком случае

     <properties>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
     </properties>

или

     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
            <source>11</source>
            <target>11</target>
        </configuration>
     </plugin>

В случае, если у вашего pom.xml был неверный исходный или целевой уровень, вам может потребоваться сделать щелчок правой кнопкой мыши |Maven |Повторно импортируйте после изменения этого pom.xml.В случае, если вы используете Gradle, вы должны проверить, что у вас есть аналогичная конфигурация.

SDK вашего модуля - это Project JDK11 или просто JDK11 enter image description here enter image description here

Протестировано с Maven 3.5.4 в IntelliJ IDEA 2018.2.4

0 голосов
/ 26 сентября 2018

Вы можете использовать JDK 11 для компиляции, но если вы компилируете для более старой версии Java, он не сможет найти этот метод.

Перейдите на File > Project Structure -> Project и проверьте уровень языка проекта, как показано стрелкой нарисунок ниже:

Не работает с языком уровня проекта 10: Wrong project language level

Работает нормально с языком уровня проекта 11: Working project language level

Обратите внимание, что у меня есть следующие настройки компилятора Java (настройки по умолчанию для нового нового проекта с использованием IntelliJ 2018.3): версия байт-кода проекта совпадает с языковым уровнем!Java compiler settings

...