0

Maven2 でビルドされた NetBeans プラットフォーム プロジェクトがあります。新しいプラットフォーム モジュールを作成しようとすると、次の奇妙なエラーが発生します。

cd ~/src; JAVA_HOME=/usr/lib/jvm/jdk1.7.0/bin/java ~/netbeans-7.3/java/maven/bin/mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes...
Error: JAVA_HOME is not defined correctly.
  We cannot execute /usr/lib/jvm/jdk1.7.0/bin/java/bin/java

私は~/.bashrcの定義を持っていますJAVA_HOME

export JAVA_HOME="/usr/lib/jvm/jdk1.7.0"
export JDK_HOME="/usr/lib/jvm/jdk1.7.0"

最後にスラッシュはありませんが、maven は/bin/java/bin/javaこのパスに追加します。Maven を使用して既存のモジュールを問題なくビルドできますが、新しいモジュールを作成すると失敗します。Maven はどこでこれを取得しJAVA_HOMEますか?

編集: maven設定:

$ mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
Java version: 1.7.0_17
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "3.2.0-39-generic" arch: "amd64" Family: "unix"
4

4 に答える 4

1

JAVA_HOMEコマンドラインで を指すように再定義していますが/usr/lib/jvm/jdk1.7.0/bin/java、これは間違っています:

cd ~/src; JAVA_HOME=/usr/lib/jvm/jdk1.7.0/bin/java ...

JAVA_HOME=/usr/lib/jvm/jdk1.7.0/bin/javaコマンド ラインから を削除します。

cd ~/src; ~/netbeans-7.3/java/maven/bin/mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes...
于 2013-03-28T08:01:48.183 に答える
0

Linux の場合、netbeans の java/maven/bin フォルダーの下にある mvn 実行可能ファイルを見つけて追加します。

from="/bin/bin/java"
to="/bin/java"
JAVACMD="${JAVACMD/$from/$to}" 

行の前に

if [ ! -x "$JAVACMD" ] ; then
  echo "Error: JAVA_HOME is not defined correctly."

乾杯

于 2013-07-10T01:47:48.027 に答える
0

JAVA_HOME問題はinの間違った定義にありました~/.bash_profile

Maven の NetBeans 統合は以下を優先します。

System.getenv("JAVA_HOME")

前:

System.getProperty("java.home")
于 2013-03-28T10:20:01.163 に答える
0

netbeans は、IDE の Java プラットフォームの定義から JAVA_HOME を取得します (ツール/Java プラットフォームを参照)。

カスタム プラットフォームを選択しない限り、IDE は、IDE が実行されているデフォルトのプラットフォームを使用します。

Tools/Java Platforms ダイアログですべてのプラットフォームを定義する必要があり、適切なフォルダを選択するための検証チェックが行われます。

多分何かがあなたに間に合って変化し、そこにある定義は正しくありませんか?

于 2013-03-28T08:17:06.347 に答える