При запуске Maven Update Maven изменяет версию jdk для моих проектов Eclipse. Я видел здесь много тем, спрашивающих, как указать версию Java для Maven, и это просто:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
У меня установлены JDK 1.8.0_181 и 1.8.0_172. Если я хочу продолжать использовать 172 для своей системы, но хочу использовать 181 для компиляции, как я могу сообщить об этом maven? Могу ли я указать только основную версию (1.8), а не другие дополнительные номера версии?
Указанные вами числа не связаны с фактической версией JDK, которую вы используете. Обычно это устанавливается через JAVA_HOME
. Вы также можете явно установить его в плагине компилятора Maven.
http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html
Указанные вами свойства задают поведение компилятора. Вы можете, например, компилируйте с версией 1.7, даже если используете JDK 1.8.x (но не 1.8 с JDK 1.7.x).
Вы можете указать путь, используемый компилятором maven, указав путь к версии javac, которую вы хотите использовать.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!-- path-to-javac --></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</plugin>
Вы также можете использовать набор инструментов в maven. Это позволяет указать версию, а также путь к JDK, используемому для компиляции. Это позволит вам указать дополнительную версию, которую вы хотите использовать. Для настройки следуйте руководство из официальной документации.