Первый вариант - установка версии в свойствах плагина компилятора:
1.81.8
Компилятор Maven принимает эту команду с версиями -target и -source . Если мы хотим использовать возможности языка Java 8, -source должно быть установлено в1.8.
Кроме того, чтобы скомпилированные классы были совместимы с JVM 1.8, значение -target должно быть1.8.
Значение по умолчанию для них обоих - версия 1.6.
Кроме того, мы можем настроить плагин компилятора напрямую:
maven-compiler-plugin1.81.8
maven-compiler-plugin также имеет дополнительные свойства конфигурации, которые позволяют нам иметь больший контроль над процессом компиляции за пределами версий-source и-target.
2.2 Java 9 and Beyond
Кроме того,starting from JDK 9 version, we can use a new -release command-line option. Этот новый аргумент автоматически настроит компилятор для создания файлов классов, которые будут связаны с реализацией данной версии платформы.
By default, the -source and -target options don’t guarantee a cross-compilation.
Это означает, что мы не можем запустить наше приложение на старых версиях платформы. Кроме того, чтобы скомпилировать и запустить программы для более старых версий Java, нам также необходимо указать параметр-bootclasspath.
Для правильной кросс-компиляции новая опция-release заменяет три флага:-source,-target and -bootclasspath.
После преобразования наших примеров для свойств плагина мы можем объявить:
7
А дляmaven-compiler-plugin, начиная с версии 3.6, мы можем написать:
Этот родительский POM позволяет нам настраивать плагины по умолчанию и несколько свойств, включая версию Java: по умолчанию версия Java -1.8.
Однако мы можем переопределить версию родителя по умолчанию, указав свойствоjava.version:
1.9
By setting the java.version property we declare that the source and the target Java versions are both equal to 1.9.
Прежде всего, мы должны помнить, что это свойство является спецификацией Spring Boot. Дополнительноstarting from the Spring Boot 2.0, Java 8 is the minimum version.
Это означает, что мы не можем использовать или настраивать Spring Boot для более старых версий JDK.
4. Заключение
Это краткое руководство демонстрирует возможные способы настройки версии Java в нашем проекте Maven.
В итоге:
Использование<java.version> возможно только с приложением Spring Boot
Для простых случаев лучше всего подходят звездочкиmaven.compiler.source песокmaven.compiler.target .
Наконец, чтобы иметь больший контроль над процессом компиляции, используйте параметры конфигурацииmaven-compiler-plugin