Указываем конкретный JDK для одноразового вызова Maven
Быстрый ответ
Для того чтобы провести установку конкретной версии JDK с помощью Maven, потребуется задать значение переменной окружения JAVA_HOME
, которому соответствовать будет необходимая версия JDK. Сделать это можно прямо в командной строке Maven:
Для Windows:
set JAVA_HOME=C:\path\to\jdk && mvn clean install
Для Linux/macOS:
JAVA_HOME=/path/to/jdk mvn clean install
Приведённый метод позволит Maven'у воспользоваться JDK, заданной в переменной окружения JAVA_HOME
, при сборке проекта. Обязательно убедитесь в корректности указанного пути и его соответствии выбранной версии JDK.
Быстрая смена JDK: Временное задание JDK
Чтобы временно задать значение переменной JAVA_HOME
на время выполнения Maven, при этом не трогая глобальные настройки, укажите значение этой переменной при запуске Maven:
# Хотите быстро переключиться на другую версию Java? Сделайте вот так!
JAVA_HOME=/path/to/jdk mvn -version
Выполнение этой команды позволит убедиться в успешности настройки JDK, так как будет выведена используемая версия Maven.
Эмансипация: Изоляция JDK для Maven
Вы можете избавиться от зависимости от глобальных настроек, установив значение переменной JAVA_HOME
непосредственно для Maven:
# Переключаем Java для конкретной задачи – это просто!
JAVA_HOME=/path/to/jdk mvn -version
После выполнения этой команды вы увидите текущую версию Maven и JDK, что подтвердит временную установку.
Наводим порядок: Определение версии JDK через maven-compiler-plugin
Для явного указания версии JDK в файле pom.xml
, можно использовать maven-compiler-plugin
:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<executable>/path/to/javac</executable>
<!-- Команда Alexa создаст новый экземпляр JVM -->
<fork>true</fork>
</configuration>
</plugin>
Элемент <executable>
здесь задаёт путь к компилятору javac
выбранной версии JDK. Опция fork
со значением true
обеспечит запуск отдельного процесса JVM для компиляции.
Бесчисленное множество JDK: Использование профилей Maven
Переключение между разными версиями JDK можно осуществить с помощью профилей Maven в файле settings.xml
:
<profile>
<id>jdk-11</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<!-- Время от времени переключения между версиями JDK бывают полезны -->
<maven.compiler.executable>/path/to/jdk-11/bin/javac</maven.compiler.executable>
</properties>
</profile>
Активация профиля выполняется при помощи флага -P
в командной строке:
mvn clean install -Pjdk-11
Визуализация
Настройка JDK для Maven напоминает процесс выбора правильной частоты на радиоприёмнике:
🎚️ Регулятор частоты JDK 🎚️
🔘-------------------------------------🔘
^JDK 8 ^JDK 11 ^JDK 17 ^JDK 18
Для того чтобы Maven воспользовался нужной версией JDK:
Просто поверните регулятор к важной для вас отметке!
Как и в случае с радиоприёмником, качество сборки Maven напрямую зависит от правильности выбора версии JDK.
Точные замеры: Проверка совместимости плагинов
Не забывайте проверять совместимость выбранной версии JDK с плагинами и инструментами вашего проекта на Maven:
<plugins>
<!-- Это как на первом свидании – всё должно быть идеально -->
</plugins>
Вернаутать порядок: Maven, JDK и Cygwin
Пользователи Cygwin должны внимательно настроить переменные окружения для согласованной работы таких инструментов, как Maven, JDK и Hudson:
# Настройка Cygwin
export JAVA_HOME=$(cygpath -m /cygdrive/c/path/to/jdk)
Окружение на месте: Локальное изменение переменных окружения
Контролируйте процесс сборки Maven, управляя переменной JAVA_HOME
на локальном уровне:
# Ваш уголок в мире программного кода
export JAVA_HOME=/path/to/jdk
mvn clean install
Подтверждение версии: Проверка справочной информации
После каждой установки JAVA_HOME
всегда проверяйте версию Java перед началом работы с Maven:
java -version
mvn -version
Полезные материалы
- Apache Maven Compiler Plugin – Компиляция исходников с использованием другой версии JDK — руководство по настройке Maven для работы с определённой версией JDK.
- Maven – Руководство по использованию инструментария — объяснение принципов работы с различными установками JDK и комплектами инструментов.
- Apache Maven Compiler Plugin – Настройка параметров -source и -target компилятора Java — как задать требуемую версию Java для компиляции в Maven.
- Maven | Документация IntelliJ IDEA — настройка использования версии JVM для Maven в IntelliJ IDEA.
- Загрузки Java | Oracle — страница для скачивания официальных релизов Oracle JDK.