6

これは、Linux や Windows マシンでは見られない問題のようです。JAVA_HOME/usr/libexec/java_home から派生した環境をセットアップしました。これは私の.bashrcファイルにあります:

export JAVA_HOME=$(/usr/libexec/java_home -version 1.7)

その結果:

~/dev/Endeavor/endeavor-sdk$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

ただし、プロジェクトで Maven を実行すると、native2ascii プラグインからエラーが発生します。

[ERROR] Failed to execute goal org.codehaus.mojo:native2ascii-maven-plugin:1.0-alpha-2-SNAPSHOT:native2ascii (default) on project dataAccessServices: Error starting Sun's native2ascii: -> [Help 1]

私の調査では、JDK の代わりに JRE を使用していることがわかります。JAVA_HOME変数で JDK を明確に指しているので、これは奇妙です。ただし、 mvn -version の出力は次のとおりです。

~/dev/Endeavor/endeavor-sdk$ mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: /usr/share/maven
Java version: 1.7.0_17, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.7.5", arch: "x86_64", family: "mac"

「Java home:」行は、${java.home} 変数が、環境変数が指すJDK ではなくJREに移動されたことを示していることに注意してください。JAVA_HOME

私は多くの場所で を設定しようとしJAVA_HOMEましたが、JRE ではなく JDK をホームとして使用するように Maven を取得する方法を見つけることができないようです。

アップデート:

これが予想される動作であることを示しているように見えるこれを見つけました: Java_home in Maven

しかし、native2ascii プラグインが必要な JDK ツールを見つけられない理由は説明できません。

ほとんど不要だったので、native2ascii の使用を削除しました。だから、私はこの時点で問題を回避しています。ただし、これが異なるシステムで異なる動作をする理由について誰かが考えを持っている場合は、私に知らせてください.

4

2 に答える 2

0

mvm help:systemMaven に関連するすべての環境変数値を出力する実行を試みましたか?

于 2014-01-17T20:59:48.637 に答える