В этой статье вы узнаете, как настроить Maven для выбора конкретной версии Java, если в операционной системе установлено несколько версий Java.
Например, Flexipool использует Java 8 для всех модулей, за исключением модуля flexy-pool-core-java 9 , который необходимо создать с использованием Java 9.
Использование цепочек инструментов Maven для определения нескольких версий Java
Чтобы использовать несколько версий Java, вам необходимо использовать Цепочки инструментов Maven , которые требуют создания toolchains.xml файл в папке ~/.m2 Maven, содержащий все версии Java, установленные на вашем компьютере:
Переменные среды JAVA_HOME_13 , JAVA_HOME_9 , JAVA_HOME_8 , JAVA_HOME_7 , JAVA_HOME_6 настроены так, чтобы они ссылались на путь, по которому установлена соответствующая версия Java.
Родитель pom.xml Конфигурация Maven, определяющая версию Java по умолчанию
Родитель pom.xml Файл конфигурации Maven определяет глобальные параметры версии Java
8
...
Теперь нам нужно проинструктировать как компилятор, так и тестовые плагины использовать настроенную версию java.
Дочерний модуль Maven pom.xml использование версии Java, отличной от стандартной
Модуль flexy-pool-core-java 9 дочерний модуль Maven, для которого требуется другая версия Java, должен только переопределить свойство по умолчанию jdk.version Maven:
9
И все, теперь мы можем создавать каждый модуль, используя свою собственную минимально жизнеспособную версию Java.
Вывод
Использование нескольких версий Java является общим требованием при разработке платформ с открытым исходным кодом, предназначенных для широкого спектра сред проекта. Благодаря плагину Maven Toolchains эту задачу очень легко решить.