JAVA_HOMEが正しく定義されていません


14

java jdk hotspot 1.7をインストールしました。入力すると、java -version次のようになります:

java version "1.7.0" 
Java(TM) SE Runtime Environment (build 1.7.0-b147)

正解です。

そして、私はmavenをインストールしようとし、/etc/environmentファイルに追加しました:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0
M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
MAVEN_HOME=/usr/local/apache-maven/apache-maven-3.0.4
M2=/usr/local/apache-maven/apache-maven-3.0.4/bin

今、私はmvnと入力すると次のようになります:

Error: JAVA_HOME is not defined correctly.   We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java

ただし、環境ファイルにJAV_HOME varのマークを付けていません。

から実行しようとしています

”/usr/lib/jvm/jdk1.7.0”/bin/java

パス、実際には

/usr/lib/jvm/jdk1.7.0/bin/java

私が命令するとき

$JAVA_HOME

私は得ています:

bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory

path(/usr/lib/jvm/jdk1.7.0)が正しいと確信しています。


ls -al /usr/lib/jvm「jdk1.7.0」がディレクトリ名の形式であることを確認できますか?Oracleを使用する場合、奇妙なフォルダー名を使用する傾向があります
Thomas Ward

ls /usr/lib/jvm/java-7そして、ls "/usr/lib/jvm/java-7"/binyield、そして私にとって同じ結果をもたらすはずです(空ではありません)。最後の部分であるjava-7は、手動で変更した結果です。これは、少し異なる場合があります。そのようなフォルダーが存在することを確認します(jdk1.7.0)。
ユーザー不明

total 44 drwxr-xr-x 3 root root 4096 Jun 28 01:57 . drwxr-xr-x 184 root root 36864 Jun 28 01:34 .. drwxr-xr-x 10 root root 4096 Jun 27 23:30 jdk1.7.0 このls -al /usr/lib/jvm コマンドを実行した後に私は得た
カモリディン

コンソールで変数を表示するには、次のように入力する必要があることに注意してくださいecho $VARNAME。あなただけ行う場合$VARNAME、それはその変数に何を実行します。
アレクシスウィルケ

回答:


15

JAVA_HOMEディレクトリの名前に設定する必要が含まれているbinディレクトリが含まれたJava実行ファイル(特に、java自分自身を)。

/usr/lib/jvm/jdk1.7.0ディレクトリがあると仮定すると、jreサブディレクトリにはおそらく、関連する実行可能ファイルbinを含むディレクトリを含むサブディレクトリが含まれjavaます。

おそらく設定する必要がありそうJAVA_HOME/usr/lib/jvm/jdk1.7.0/jreはなく/usr/lib/jvm/jdk1.7.0


JREだけでなくJDKをインストールすると、通常、bin dirを含むJDKディレクトリと、bin dirを含むJRE-dirが作成されます。ただし、JAVA_HOME常にディレクトリではなく親ディレクトリに設定されていましたjre
ユーザー不明

興味深いことに、jdk noに設定する必要がありますか?Javaでコードを記述し、コンパイル、デプロイなどを行います。
Kamoliddin

@Kamoliddin Mavenが$JAVA_HOMEどこを知るために使用している場合javac、他の開発バイナリが、はい、それらを含むディレクトリを含むjdkディレクトリに設定する必要がありますbin
エリアケイガン

おかげで、わかりません。再起動後に機能しました。変更を適用するために再起動する必要はないと思います。何も変更しませんでした。動いた。
カモリディン

なぜjdk1.7.0を使用しているのかは定かではありません。/usr/lib/jvm/javaとの両方javaで十分なはずですjavac。オルタナティブがこれを処理します
ブライアン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.