Использование 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
В окне настроек установите байт-код Target равным 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" />
У меня все было настроено, как и в других ответах, но по какой-то причине Idea обновила файл .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 не смог найти правильные конфигурации, так как эти элементы были указаны в родительском pom.
Изменение файла -> Настройки -> Сборка, Исключение, Развертывание -> 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 и т. Д. У меня была проблема с «Module SDK».
(в Linux) File > Project Structure...
Затем перейдите в открывшемся окне и выберите пункт Modules
ниже Project Settings
. Выберите нужный модуль из списка, а затем Dependencies
вкладку и убедитесь, что Module SDK
он установлен правильно.