Ответ 1
Если вы находитесь в Linux, установите JAVA_HOME с помощью синтаксиса export JAVA_HOME=<path-to-java>
. На самом деле это не только для Maven.
Я хочу изменить maven java home, который является открытым jdk с sun jdk. Как я могу это сделать?
[email protected]:~# mvn -version
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre
Default locale: tr_TR, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-34-generic", arch: "amd64", family: "unix"
Edit:
Так жаль. Я забыл написать приведенный ниже код:
[email protected]:~$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Мой исходный путь Java по умолчанию уже есть sun jdk. Но maven java home указал на openjdk. Я хочу исправить это только для maven.
Если вы находитесь в Linux, установите JAVA_HOME с помощью синтаксиса export JAVA_HOME=<path-to-java>
. На самом деле это не только для Maven.
Я , используя Mac, и ни один из ответов выше не помог мне. Я узнал, что maven загружает свой JAVA_HOME с пути, указанного в: ~/.mavenrc
Я изменил содержимое файла: JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
Обновление: для Linux он будет выглядеть примерно так:
JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
Велика помогает выше, но если у вас есть аналогичная среда, как я, это то, как я могу заставить ее работать.
Отредактируйте этот файл /etc/profile.d/apache-maven.sh, например, следующее, обратите внимание, что это повлияет на всю систему.
$ cat /etc/profile.d/apache-maven.sh
MAVEN_HOME=/usr/share/apache-maven
M2_HOME=$MAVEN_HOME
PATH=$MAVEN_HOME/bin:$PATH
# change below to the jdk you want mvn to reference.
JAVA_HOME=/usr/java/jdk1.7.0_40/
export MAVEN_HOME
export M2_HOME
export PATH
export JAVA_HOME
Просто установите свойство env JAVA_HOME.
Появляется дубликат https://askubuntu.com/questions/21131/how-to-correctly-remove-openjdk-and-jre-and-set-the-system-use-only-and-only-sun#answer-21137, предполагая, что вы используете Ubuntu.
Ключ должен использовать команду sudo update-java-alternatives -s java-6-sun
. Любые команды, которые полагаются на javac
, будут затронуты, а не только Maven.
Даже если вы устанавливаете Oracle JDK, ваша переменная $JAVA_HOME
должна ссылаться на путь JRE , который находится внутри корень JDK. Вы можете сослаться на мой другой ответ на аналогичный вопрос для более подробной информации.
У меня есть две версии java на моем сервере ubuntu 14.04. java 1.7
и java 1.8
.
У меня есть проект, который мне нужно создать с помощью java 1.8
.
Если я проверю свою версию java с помощью java -version
Я получаю
java version "1.8.0_144"
Но когда я сделал mvn -version
, я получил:
Java version: 1.7.0_79, vendor: Oracle Corporation
java8
Я делаю это:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre/
Тогда, когда я делаю mvn -version
, я получаю:
Java version: 1.8.0_144, vendor: Oracle Corporation
Надеюсь, это поможет кому-то еще.