Mavenのインストールの問題:JAVA_HOMEはJDKないJREを指している必要がありますか?

アリソンパーク:

警告の言葉:私はCSのスーパー新たなんだとUNIX /バッシュの単語と非常になじみのありません。また、これはStackOverflowのようにハロー世界の私の最初の投稿です、私は私が規則に従っていないよ場合はごめんなさい、私はそうであれば教えてください!私は現在、Mavenをインストールしようとしている、と私は(間違ったバージョン番号で)古いインストール手順を貼り付けコピーによって、いくつかのミスを犯し、今全体のプロセスは非常に台無しにされています。私が最初に動作しませんでしたウェブサイト上の指示に従うことを試み、その後、私はいくつか他のものを試してみました、そして今、私は私が命令の異なるセットに従うことによって混乱が残ってることを心配しています。

私が入力した場合、私は今、ポイントに達したmvn -version次の取得I 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もともと、私のJAVA_HOMEはまだ私に上記のエラーメッセージを与え、JDKインストール先ディレクトリに設定しました。私は、オラクルからJDK(バージョン13.0.1)をもう一度ダウンロードしようとした私のホームディレクトリにそのファイルをドラッグし、それを解凍しました。それから私は、その解凍したファイルは、JDK-13.0.1.jdkに私のJAVA_HOMEを設定して、私のPATH変数を更新しました。このすべての後、私はまだ、この同じエラーメッセージが出ていて、私が何をすべきかわかりません。

参考のため、ここではいくつかの関連する環境変数は、(私がPATHから無関係な情報が含まれていませんでした)に設定されているものです。

~ echo $JAVA_HOME
jdk-13.0.1.jdk
~ echo $PATH
/usr/local/apache-maven/apache-maven-3.6.3/bin:/opt/apache-maven-3.6.3/bin:jdk-install-dir/bin:/usr/local/apache-maven/apache-maven-3.3.9/bin:/opt/apache-maven-3.6.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/allyson/apache-maven-3.6.3/bin:/Users/allyson/apache-maven-3.6.3/bin:jdk-12.0.1.jdk/bin:/Users/allyson/apache-maven-3.6.3/bin:JDK-13.0.1.jdk/bin 
~ echo $M2
/usr/local/apache-maven/apache-maven-3.6.3/bin
~ echo $M2_HOME
/Users/allyson/apache-maven-3.6.3

私は好奇心だことの一つは:M2とM2_HOME変数のために、それは1つが私のホームディレクトリ(/ユーザ/アリソン)であり、もう1つはのためには/ usr / localであることをすることになっている????

これは、多くの場合は申し訳ありませんが、ちょうど徹底情報を提供したかったです!

イアンMcLaird:

OK、深呼吸をし、我々はこの中を歩くでしょう。これらの環境変数は、それぞれが目的を持っており、あなたがそれらの目的が何であるかを理解すれば、これは多くの意味があります。チュートリアルを混合することは必ずしも問題ではありませんが、やみくもにインターネットから値をコピーするのではなく、あなたがやっているかを理解したいと思います。

  1. JAVA_HOMEJavaランタイム環境を見つけるためのシステム環境に特定することを意図しています。これは、に設定する必要がフルパスあなたのJDKがインストールされている場所の。Windowsでは、これは次のようになりますC:\Program Files\Java\jdk-13.0.1Linuxシステム上では、もう少し柔軟性を持っています。一般的な場所は次のようになります/opt/java/jdk-13.0.1/usr/local/java/jdk-13.0.1あなたがどこかにあなたのJDKをインストールした場合は、使用する必要があり、その代わりにパスを。メッセージは、NB: JAVA_HOME should point to a JDK not a JREMavenの取り付け時の一般的な間違いをいう- MavenはJDK、ない無地JREを必要とします。このエラーは、任意の時間点で共通しているJAVA_HOMEJDKではないフォルダへのポイントは、それが(問題のフォルダがあっても、この警告を表示し、実際にJREではありません)。
  2. M2_HOME設定されているものとする完全なパスのmavenがインストールされている(あなたがそれを解凍したすなわち場所)。これは、多かれ少なかれ、それが何らかの理由に必要な必要がある場合は、「自分自身を見つける」Mavenのに役立ちます。厳密に言えば、これは必要ありません。(これは私のシステムで設定されていない、とMavenは私のために罰金を動作します)。これは、主に設定するための簡易だ次の環境変数を。
  3. M2あるフルパス Mavenの実行ファイルがあるフォルダに移動します。これがしますほとんど常になる$M2_HOME/binが、それは奇妙な事をすることは確かに可能だし、これはあなたがそのような状況を回避できるようになります。あなたが指定しなかった場合は明らかに、これは動作しません$M2_HOMEこの1は厳密には必要ではない、のいずれか、および主に次のものを設定するための便利な方法です。
  4. PATHLinuxシステムのルックスは、コマンドラインで自分の名前を入力したときに実行するプログラムを検索する場所です。使いやすさのために、あなたは確かにMavenおよびJava実行可能ファイルがどこかで含まれていることを確認したいと思う:区切りのリストを。ほとんどのLinuxディストリビューションは、すでにデフォルト持っているPATHいくつかの種類のシェルリソースファイルにあなたのために設定を。あなたは、パスに別のエントリを追加する方法のために彼らのドキュメントを参照してくださいしたいと思うでしょうが、一般的なイディオムは以下のようになりPATH=$PATH:$M2の価値を付加ことになる($M2の値に$PATHし、結果の背中を保存するPATH。あなたが設定しなかった場合アップ$M2または$M2_HOME、あなたが何かを行う必要があります。

だから、TL、あなたがあなたのJDKをインストールした場合、DRは、/opt/java/jdk-13.0.1とにMavenを解凍し/opt/maven/apache-maven-3.6.3、あなたのクマの最小作業値は次のとおりです。

export JAVA_HOME=/opt/java/jdk-13.0.1
export PATH=$PATH:$JAVA_HOME/bin:/opt/maven/apache-maven-3.6.3/bin

そして、あなたは完全なセットを望んでいた場合

export JAVA_HOME=/opt/java/jdk-13.0.1
export M2_HOME=/opt/maven/apache-maven-3.6.3
export M2=$M2_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin:$M2

ほとんどのJava IDEは、IDE内のMavenおよびJavaセットアップするためのGUIが含まれることは注目にそれの価値(設定は、典型的作業のみというIDE内)。初心者が立ち上がってその方法を実行することは、多くの場合、はるかに簡単です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=363437&siteId=1