web-dev-qa-db-ja.com

JAVA_HOMEはMavenで動作していません

Javaはこのパスにインストールされます

$ which Java
/usr/bin/Java

mvn -versionはこのエラーを与えています

$ mvn -version
The Java_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: Java_HOME should point to a JDK not a JRE

私はオンラインで利用可能なソリューションのいくつかを試しましたが、それらは私のために働きません。これらのソリューションのいくつかは、追加を提案しました

$export Java_HOME = /usr/libexec/Java_home 

または

$export Java_HOME = $(/usr/libexec/Java_home)

以下のファイルへ

~/.bashrc
~/.bash_profile
~/.profile

また、1つのシェルコマンドを実行しようとすると、次のようなエラーが表示されます

Error: Java_HOME is not defined correctly.
 CARBON cannot execute /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/Java
7
Amarjit Singh

ほぼ1日苦労した後、私はMavenが$Java_HOMEから

 ~/.bashrc
 ~/.bash_profile
 ~/.profile

しかし、それは$Java_HOME from ~.mavenrc

最後に、私が追加したとき

export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home

~.mavenrcその後、出力を得た

mvn -v
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T15:39:06-04:00)
Maven home: /usr/local/Cellar/maven/3.5.0/libexec
Java version: 1.8.0_141, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home/jre
Default locale: en_CA, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.6", Arch: "x86_64", family: "mac"
25
Amarjit Singh

修正するには、次のようにJava_HOMEを更新します。

$ vim .bash_profile

export Java_HOME=$(/usr/libexec/Java_home)

$ source .bash_profile

Mavenを再度実行します。

$ mvn -version
12
Anshul Sharma

mavenは、Java/HOMEを〜/ .mavenrcから読み取ります。 Java_HOMEのパスを〜。/ mavenrcに追加し、ソースにします。

$ vim〜/ .mavenrc

export Java_HOME = $(/ usr/libexec/Java_home)

$ source .mavenrc

7
Tariq Kamal

Ubuntuでは、同様の問題に直面しました。 $Java_HOMEのような/etc/environmentのように$Java_HOME=PATH_TO_JDK$Java_HOME=/home/max/jdk1.8.0_144を構成しました

に注意

  • パス宣言後の空白$Java_HOME=/home/max/jdk1.8.0_144[[_NO_WHITE_SPACE_AFTER_DECLARATION]]
  • 二重アポストロフィ$Java_HOME="/home/max/jdk1.8.0_144"を入れないでください
  • / binを入れないでください$Java_HOME=/home/max/jdk1.8.0_144/bin <-これは間違っています
1
Adelin

「;」が表示されないことを確認してくださいJava_HOME値にセミコロンがある場合、上記のエラーが表示されます。

1
Princi Verma