Використання IntelliJ IDE не може зібрати жоден проект. Скріншоти налаштувань нижче:
Використовуваний JDK:
SDK проекту та рівень мови:
Мовний рівень:
У когось є ідеї?
Використання IntelliJ IDE не може зібрати жоден проект. Скріншоти налаштувань нижче:
Використовуваний JDK:
SDK проекту та рівень мови:
Мовний рівень:
У когось є ідеї?
Відповіді:
Якщо ви використовуєте Maven
Додайте плагін компілятора до вузла pom.xml
верхнього рівня project
:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
(Піднімається з коментарів.)
Примітка: Якщо ви не проти реімпортувати проект, єдине, що вам дійсно потрібно зробити, - це змінити пом і повторно імпортувати проект, тоді IntelliJ підбере правильні налаштування, і вам не доведеться їх вручну змінювати.
Project Structure -> Project Settings -> Modules -> Denpendencies -> Module SDK
.
Це виглядає як помилка, яку створює Maven, якщо у вас немає плагіну компілятора, налаштований правильно. Ось приклад конфігурації компілятора Java 8.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<!-- ... -->
</project>
project
, build
і потім plugins
.
<source>1.8</source>
і <target>1.8</target>
налаштовано, вищезгадана помилка може статися.
java compiler
У вікні "Налаштування" встановіть цільовий байт-код на 1,8
(або 9 для java9)
Вирішити цю проблему можна двома способами:
Багато відповідей щодо Maven вірні, але вам не доведеться налаштовувати плагін безпосередньо.
Як описано на сторінці вікі плагіну компілятора Apache Maven, ви можете просто встановити 2 властивості, використовувані плагіном.
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
org.apache.maven.plugins:maven-compiler-plugin
у вашому файлі pom або gradle, що в документації, що має намір сказати, полягає в тому, що встановлення цього властивості у властивостях pom буде достатньо, в основному тому, що вони встановлюють значення за замовчуванням плагіна, наприклад <source> $ { maven.compiler.source} </source>
Я виправив це, перейшовши до Структура проекту -> Модулі , знайдіть розглянутий модуль, натисніть на вкладку Залежності та змініть Module SDK
на Project SDK
.
Я виправив це лише змінивши цільову версію компіляції на 1,8. Це в:
Файл >> Налаштування >> Збірка, виконання, розгортання >> Компілятор >> Компілятор Java
У моєму випадку я вирішив цю проблему, відкривши .iml файл проекту (він знаходиться в кореневій папці проекту та має ім’я, таке ж, як ім'я проекту) та змінивши рядок <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
на<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
У мене все було налаштовано, як і в інших відповідях тут, але чомусь ідея оновила .iml файл неправильно.
Я виправив це, змінивши свій файл POM. Помітьте останній коментар під найвищою оцінкою.
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Джерело має відповідати цілі.
У свій файл рівня програми Gradle >> compileOptions додайте ці два рядки
android {
compileOptions {
...
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
...
}
}
Під файлом compiler.xml ви знайдете:
<bytecodeTargetLevel>
<module name="your_project_name_main" target="1.8" />
<module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>
і ви можете змінити цільове значення зі свого старого на нове для мене, мені потрібно було змінити його від 1,5 до 1,8
Для мене проблема полягала в тому, що Мейвен не зміг знайти належну конфігурацію, оскільки ці елементи були вказані у батьківській пам’яті.
Зміна файлу -> Налаштування -> Збірка, Виконання, Розгортання -> Maven -> Файл налаштувань користувача, щоб вказати на мої користувацькі налаштування з належними сховищами, виправлено проблему, яку інакше приховували.
Дізнайтеся про проблему за допомогою довідки -> Показати провіднику входу в систему -> натиснувши файл журналу, коли раніше отримали лише помилку в заголовку та "java.lang.NullPointerException" в консолі.
У Intellij , використовуючи Maven , ви повинні перевірити, чи Intellij автоматично імпортував ваш проект. Ви можете перевірити, натиснувши на вкладку Maven праворуч від вашого редактора.
Якщо вашого проекту тут немає, додайте pom.xml
файл, натиснувши на +
.
Очевидно, що проект також повинен мати відповідні <build/>
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Якщо жоден з інших відповідей не працює, перевірте свій модуль SDK .
У мене виникла помилка після того, як я оновив проект SDK до 1,8, компілятор Javac до 1,8 і т.д.
(у Linux) Перейдіть до File > Project Structure...
цього у вікні, що відкриється, виберіть Modules
під Project Settings
. Виберіть відповідний модуль зі списку, а потім Dependencies
вкладку та переконайтеся, що Module SDK
встановлено відповідним чином.