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
ほぼ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"
修正するには、次のようにJava_HOMEを更新します。
$ vim .bash_profile
export Java_HOME=$(/usr/libexec/Java_home)
$ source .bash_profile
Mavenを再度実行します。
$ mvn -version
mavenは、Java/HOMEを〜/ .mavenrcから読み取ります。 Java_HOMEのパスを〜。/ mavenrcに追加し、ソースにします。
$ vim〜/ .mavenrc
export Java_HOME = $(/ usr/libexec/Java_home)
$ source .mavenrc
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"
を入れないでください$Java_HOME=/home/max/jdk1.8.0_144/bin
<-これは間違っています「;」が表示されないことを確認してくださいJava_HOME値にセミコロンがある場合、上記のエラーが表示されます。