#maven #intellij-idea #maven-plugin
#maven #intellij-идея #maven-плагин
Вопрос:
в одном из файлов pom у меня есть следующее
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<phase>prepare-package</phase>
</configuration>
</plugin>
я подозреваю, что именно поэтому это конкретное приложение имеет следующие значения на странице настроек компилятора
и преобразуется на уровень языка 14 на странице структуры проекта
Несмотря на то, что я продолжаю устанавливать для него значение 8, после нескольких сборок оно возвращается к 14, несмотря на то, что для моего компилятора по умолчанию установлено значение 8, и у меня даже нет версии компилятора 14 в моем списке компиляторов в intellij.
Что приводит меня к 2 вопросам:
- Из каких системных переменных считываются intellij или maven, что побуждает их постоянно устанавливать уровень языка на 14?
- как мне изменить это, чтобы оно оставалось равным 8? Я не могу изменить запись в pom.xml файл по деловым соображениям.
Комментарии:
1. Откуда Maven читает
${jdk.version}
? Является ли это свойством в POM? Илиsetings.xml
? Или это указано в командной строке?2. Можете ли вы
mvn clean compile
успешно использовать командную строку? Похоже${jdk.version}
, что нигде не определено, поэтому IDE не может его разрешить.3. @JFabianMeier Что касается вашего вопроса «откуда maven читает
${jdk.version}
«, если вы имеете в виду, где в моем коде используется свойство, да, оно указано в файле pom точно так, как я перечислил выше. Если вы имеете в виду, как maven узнает, к какой версии это относится, я понятия не имею, и это то, что я пытаюсь выяснить с помощью этого сообщения SO. Я не вижу, чтобы оно указывалось где-либо в аргументах командной строки4. @Andrey Я могу прямо сейчас, потому что пару дней назад я исправил уровень языка до 8, и intellij еще не вернул его на 14. сообщу вам, если смогу, когда intellij снова выполнит возврат.