Указываем конкретный JDK для одноразового вызова Maven

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для того чтобы провести установку конкретной версии JDK с помощью Maven, потребуется задать значение переменной окружения JAVA_HOME, которому соответствовать будет необходимая версия JDK. Сделать это можно прямо в командной строке Maven:

Для Windows:

shell
Скопировать код
set JAVA_HOME=C:\path\to\jdk && mvn clean install

Для Linux/macOS:

shell
Скопировать код
JAVA_HOME=/path/to/jdk mvn clean install

Приведённый метод позволит Maven'у воспользоваться JDK, заданной в переменной окружения JAVA_HOME, при сборке проекта. Обязательно убедитесь в корректности указанного пути и его соответствии выбранной версии JDK.

Кинга Идем в IT: пошаговый план для смены профессии

Быстрая смена JDK: Временное задание JDK

Чтобы временно задать значение переменной JAVA_HOME на время выполнения Maven, при этом не трогая глобальные настройки, укажите значение этой переменной при запуске Maven:

shell
Скопировать код
# Хотите быстро переключиться на другую версию Java? Сделайте вот так!
JAVA_HOME=/path/to/jdk mvn -version

Выполнение этой команды позволит убедиться в успешности настройки JDK, так как будет выведена используемая версия Maven.

Эмансипация: Изоляция JDK для Maven

Вы можете избавиться от зависимости от глобальных настроек, установив значение переменной JAVA_HOME непосредственно для Maven:

shell
Скопировать код
# Переключаем Java для конкретной задачи – это просто!
JAVA_HOME=/path/to/jdk mvn -version

После выполнения этой команды вы увидите текущую версию Maven и JDK, что подтвердит временную установку.

Наводим порядок: Определение версии JDK через maven-compiler-plugin

Для явного указания версии JDK в файле pom.xml, можно использовать maven-compiler-plugin:

xml
Скопировать код
<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:

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 в командной строке:

shell
Скопировать код
mvn clean install -Pjdk-11

Визуализация

Настройка JDK для Maven напоминает процесс выбора правильной частоты на радиоприёмнике:

Markdown
Скопировать код
         🎚️ Регулятор частоты JDK 🎚️
🔘-------------------------------------🔘
   ^JDK 8  ^JDK 11  ^JDK 17  ^JDK 18

Для того чтобы Maven воспользовался нужной версией JDK:

plaintext
Скопировать код
Просто поверните регулятор к важной для вас отметке!

Как и в случае с радиоприёмником, качество сборки Maven напрямую зависит от правильности выбора версии JDK.

Точные замеры: Проверка совместимости плагинов

Не забывайте проверять совместимость выбранной версии JDK с плагинами и инструментами вашего проекта на Maven:

xml
Скопировать код
<plugins>
    <!-- Это как на первом свидании – всё должно быть идеально -->
</plugins>

Вернаутать порядок: Maven, JDK и Cygwin

Пользователи Cygwin должны внимательно настроить переменные окружения для согласованной работы таких инструментов, как Maven, JDK и Hudson:

shell
Скопировать код
# Настройка Cygwin
export JAVA_HOME=$(cygpath -m /cygdrive/c/path/to/jdk)

Окружение на месте: Локальное изменение переменных окружения

Контролируйте процесс сборки Maven, управляя переменной JAVA_HOME на локальном уровне:

shell
Скопировать код
# Ваш уголок в мире программного кода
export JAVA_HOME=/path/to/jdk
mvn clean install

Подтверждение версии: Проверка справочной информации

После каждой установки JAVA_HOME всегда проверяйте версию Java перед началом работы с Maven:

shell
Скопировать код
java -version
mvn -version

Полезные материалы

  1. Apache Maven Compiler Plugin – Компиляция исходников с использованием другой версии JDK — руководство по настройке Maven для работы с определённой версией JDK.
  2. Maven – Руководство по использованию инструментария — объяснение принципов работы с различными установками JDK и комплектами инструментов.
  3. Apache Maven Compiler Plugin – Настройка параметров -source и -target компилятора Java — как задать требуемую версию Java для компиляции в Maven.
  4. Maven | Документация IntelliJ IDEA — настройка использования версии JVM для Maven в IntelliJ IDEA.
  5. Загрузки Java | Oracle — страница для скачивания официальных релизов Oracle JDK.