Как указать Maven использовать JDK, кроме указанного в JAVA_HOME?

В настоящее время мой JAVA_HOME установлен в JDK, который равен 1.4.2.

Чтобы запустить Maven 3, мне понадобится 1.5 и выше.

Есть ли способ дать указание моей установке Maven использовать другой JDK, который установлен, кроме изменения переменной среды JAVA_HOME?

Ответ 1

Это в значительной степени способ сделать это. Я полагаю, вы имеете в виду, что не хотите менять свой глобальный JAVA_HOME. Это здорово. Вам просто нужно установить другой JAVA_HOME для Maven. Вы можете легко сделать это, создав файл в /etc/mavenrc или ~/.mavenrc (Linux) или %HOME%\mavenrc_pre.bat (Windows) с соответствующим JAVA_HOME, определенным в нем. Maven выполняет их при запуске, если они существуют, если вы не определили переменную с именем MAVEN_SKIP_RC. Вы также можете изменить сценарии запуска Maven напрямую, но нет веских оснований для этого, поскольку он дает вам эти хорошие крючки.

Ответ 2

В Windows:

ШАГ 1:

Найдите apache-maven-3.2.1\bin\mvn.bat, затем найдите и замените JAVA_HOME на JAVA_HOME_MVN. Примечание: перед этим сделайте резервную копию mvn.bat

ШАГ 2:

Создайте новую переменную среды, называемую JAVA_HOME_MVN, и укажите ее в лоток любого jdk, который вы хотите использовать.