Задаване на версията на Java в Maven

1. Общ преглед

В този бърз урок ще покажем как да настроите версията на Java в Maven .

Преди да продължим напред, можем да проверим стандартната версия на JDK на Maven . Изпълнението на командата mvn -v ще покаже версията на Java, в която работи Maven.

2. Използвайте приставката Compiler

Можем да посочим желаната версия на Java в приставката на компилатора.

2.1. Приставка за компилатор

Първата опция е задаване на версията в свойствата на приставката на компилатора:

 1.8 1.8 

Компилаторът Maven приема тази команда с версиите - target и - source . Ако искаме да използваме езиковите функции на Java 8, източникът трябва да бъде настроен на 1.8 .

Също така, за да бъдат компилираните класове съвместими с JVM 1.8, целевата стойност трябва да бъде 1,8 .

Стойността по подразбиране и за двете е 1.6 версия.

Като алтернатива можем да конфигурираме приставката на компилатора директно:

  maven-compiler-plugin  1.8 1.8   

The Maven-компилатор-приставка също има допълнителни свойства, които ни позволяват да имате повече контрол върху процеса на компилация отвъд -Източник и -target версии.

2.2 Java 9 и по-нови версии

Освен това, като се започне от JDK 9 версия, можем да използваме нова -освобождаване вариант за команден ред . Този нов аргумент автоматично ще конфигурира компилатора да създава файлове с класове, които ще се свързват срещу изпълнението на дадената версия на платформата.

По подразбиране опциите -source и -target не гарантират кръстосано компилиране .

Това означава, че не можем да стартираме нашето приложение на по-стари версии на платформата. Освен това, за да компилираме и стартираме програмите за по-стари версии на Java, ние също трябва да посочим опцията -bootclasspath .

За да се пресече-компилация правилно, новият -освобождаване опция замества три знамена: -Източник, -target и -bootclasspath .

След трансформиране на нашите примери, за свойствата на приставката можем да декларираме:

 7 

А за плъгина maven-compiler, започвайки от версията 3.6, можем да напишем:

 org.apache.maven.plugins maven-compiler-plugin 3.8.0  7  

Както забелязваме, можем да добавим версията на Java в новаатрибут . В този пример ние компилираме нашето приложение за Java 7.

Още повече, че не се нуждаем от JDK 7, инсталиран в нашата машина. Java 9 вече съдържа цялата информация за свързване на новите езикови функции с JDK 7.

3. Спецификация на Spring Boot

Приложенията Spring Boot указват версията JDK вътре в маркерите на свойствата във файла pom.xml .

Първо, трябва да добавим spring-boot-starter-parent като родител към нашия проект:

 org.springframework.boot spring-boot-starter-parent 

Този родителски POM ни позволява да конфигурираме плъгини по подразбиране и множество свойства, включително версията на Java: По подразбиране версията на Java е 1.8 .

Въпреки това можем да заменим версията по подразбиране на родителя, като посочим свойството java.version :

 1.9 

Чрез задаване на свойството java.version декларираме, че източникът и целевата версия на Java са равни на 1.9 .

Преди всичко трябва да имаме предвид, че това свойство е Spring Boot Specification. Освен това, като се започне от Spring Boot 2.0, Java 8 е минималната версия.

Това означава, че не можем да използваме или конфигурираме Spring Boot за по-старите версии на JDK.

4. Заключение

Този бърз урок демонстрира възможните начини за настройка на версията на Java в нашия проект Maven.

В обобщение:

  • Използвайки е възможно само с приложението Spring Boot
  • За прости случаи свойствата на maven.compiler.source и maven.compiler.target трябва да са най-подходящи
  • И накрая, за да имате по-голям контрол върху процеса на компилация, използвайте конфигурационните настройки на maven-compiler-plugin