Поваренная книга по разработке Java — спецификация JDK в Maven
Я пишу этот блог, чтобы делиться и регистрировать решения, которые я нашел, когда использую Maven
для организации моего проекта. Этот блог может часто обновляться
Как указать версию JDK?
Есть 3 способа указать версию JDK в maven
1) java.версия
Этот метод обеспечивается Spring Boot
Только. Если вы не используете Spring Boot
найти метод 2) или 3)
<properties>
<java.version>1.8</java.version>
</properties>
2) maven.compiler.source
Этот метод предоставляется плагином компилятора ядра maven, вы можете использовать его напрямую.
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
3) maven-компилятор-плагин
Этот метод предоставляется плагином maven-compiler-plugin, однако он эквивалентен методу 2), описанному в документ
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Начиная с Java 9
С Java 9
вы должны использовать maven.compiler.release
или же <release>
указать версию JDK
Кросс-компиляция
Когда JAVA_HOME
версия ниже, чем целевая версия, вам может потребоваться указать местоположение исполняемого файла JDK, чтобы указать плагину, как найти компилятор
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerVersion>1.8</compilerVersion>
<fork>true</fork>
<executable>/the/location/of/javac</executable>
</configuration>
</plugin>
использованная литература
Вышеупомянутую информацию можно найти в этот пост stackoverflow. Я записываю ответ и буду обновлять в этом посте, если что-то изменится.