プロジェクトでmavenパッケージを実行すると、Java_HOME変数がC:\Program Files\Java\jre6\
に設定されているため、依存関係を解決できないことがわかります
[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (default) on project roo: Execution default of goal o
rg.codehaus.mojo:aspectj-maven-plugin:1.0:compile failed: Plugin org.codehaus.mojo:aspectj-maven-plugin:1.0 or one of its dependencies
could not be resolved: Could not find artifact com.Sun:tools:jar:1.4.2 at specified path C:\Program Files\Java\jre6/../lib/tools.jar ->
[Help 1]
したがって、Java_HOMEは実際には実際よりも1レベル深いと想定しています。Mavenローカルリポジトリを調べたところ、log4j 1.2.16がこの依存関係を使用していることがわかりました。
Java_HOMEをC:\Program Files\Java\jre6\bin\
のように見せようとしましたが、mavenが実行されず、Java_HOMEパスが間違っていると通知されました
Java JREだけでなくJavaDKも必要です。 Oracleで入手できますJavaページ
編集: Mavenプロパティガイド から:
${Java.home} specifies the path to the current JRE_HOME environment use with relative paths to get for example:
<jvm>${Java.home}../bin/Java.exe</jvm>
そして、例えばc:\jdk
のJDKでは、maven $ {Java.home}がc:\jdk\jre
を指しています。
これも助けになりました。
... Eclipseでは、インストールされているJREがJDKインストールを使用していることを確認する必要があります。
これは、設定オプションで...ウィンドウ/設定/ Java /インストールされたJRE ... JDKインストールをポイントする必要があることを意味します。
Jdk内のjreへのパスを変更する必要があります。 %Program Files%\ Java\jdk1.6.0_25\jre
Java.home変数は、プロジェクトpom.xmlからさらに派生させることができます。 Mavenコンパイラプラグインリファレンスを再確認します。ビルドしようとしたときに、javacが見つからないという同じ問題が発生しました。私のJava.home、Java_HOMEはすべて正しく設定されています。
FIXであることが判明したのは、pom.xmlを修正して、次の変更を加えた結果です。
<!-- Original Version of compiler plugin reference -->
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>${default.Java.version}</source>
<target>${default.Java.version}</target>
<showDeprecation>false</showDeprecation>
<executable>${default.Java.home}/bin/javac</executable>
<compilerVersion>${default.Java.version}</compilerVersion>
<fork>true</fork>
</configuration>
<!-- MODIFIED Version of compiler plugin reference -->
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<!-- SPECIFY A DISCRETE VERSION!! Do not let it derive it! -->
<source>1.6</source>
<target>1.6</target>
<!--
<showDeprecation>false</showDeprecation>
<executable>${default.Java.home}/bin/javac</executable>
<compilerVersion>${default.Java.version}</compilerVersion>
<fork>true</fork>
-->
</configuration>
今日も同じ問題がありました。このWindowsのインストール(つまりフォルダ名)がドイツ語であるにもかかわらず、パスで「プログラムファイル」を使用する必要があることがわかりました。
このようなことが起こったのもこれが初めてではありません。
したがって、パスが正しいことが確実な場合は、ローカライズされた代替の代わりに「プログラムファイル」を試してください。私のために働いた。
ウィンドウ設定の変更に関する回答に少し情報を追加するだけです。 [〜#〜] jre [〜#〜]の場所をC:\Program Files\Java\jre7
これは明らかな選択のように思えたからです。
ただし、これは失敗です。指摘された正しい答えはC:\Program Files\Java\jdk1.7.0_10\jre
。これは間違いを犯しやすいので指摘しています。
この問題はIntellij IDEA(IDEA 11.x〜Windows 7〜Java 7)でも発生します。 systempathプロパティの指定はIDEA jreを参照していました...
安定した解決策は、$ HOME/.m2/settings.xmlの下にローカルMavenプロファイルを作成することでした。
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>NUMERIC_VERSION</jdk>
</activation>
<properties>
<Java.home>
<!-- ABSOLUTE_PATH_HERE -->
</Java.home>
</properties>
</profile>
</profiles>
Mavenを実行するには-JDKを指すように環境変数Java_HOMEを設定する必要があります
例えばJava_HOME = C:\ Program Files\Java\jdk1.7.0_25
また、PATH環境変数に含まれるC:\ Program Files\Java\jdk1.7.0_25\binも必要です。
よろしく、ディパン
Java -version
の入力中にコマンドプロンプトで適切な応答を確認できましたが、mvn -version
の入力中にこのエラーが発生しました。
私の場合、それは愚かな間違いでした。 Java_HOME
環境変数が..\jdk\bin
フォルダーを指していたため、問題が発生していました。 Java_HOME
変数の値からビンを削除した後、Mavenで作業することができました。
注:システム変数のパスには、JDKのbinフォルダーを指す値を含める必要があります。
よろしく、Balaji.K
コマンドラインMavenプロジェクトのJava自動更新(Windows 7)の後にこの問題が発生しました(Eclipse内のmavenバージョンとは別の問題です)。JRE自動更新によりjreが削除されました私のシステムJava_HOME環境変数によってポイントされたJDKの下のフォルダー。jreが見つからなかったため、mavenは新しくインストールされたJREにデフォルト設定していました(まだ方法がわかりません)。JDKフォルダーの下にjreフォルダーを復元しましたシステムのPath変数の先頭に追加されたC:\ ProgramData\Oracle\Java\javapathへの参照を削除すると、mavenビルドは通常に戻ります。
Javaライブラリがプロジェクトのクラスパスにあることを確認してください。プロジェクトのプロパティ-> Javaビルドパス->ライブラリタブに移動します。jdkライブラリがリストされているかどうかを確認します。追加されていない場合は、これを追加してください。このようなエラーの原因にもなります。
同様の問題がありましたが、答えは簡単です。
mavenは、私がJavaパスをパス変数に書き込んだことに気付くまで、Java_HOME変数を見つけることができませんでした。 。 "は、Java_HOMEという名前の新しい変数を作成することでした。たぶんそれはダミーの失敗ですが、実現するのに1時間かかりました...
私は同様の問題に直面しました、以下は問題を解決しました:
Java_HOME = C:\Program Files\Java\jdk
M2_HOME= C:\Program Files\Apache-maven
inside path = ....%Java_HOME%\bin;%M2_HOME%\bin;
これで問題は解決しました。
JavaプログラムのJDKが必要です。必要なツールはJDK(Java Development Kit)でのみ配布されるためです。JRE(Javaランタイム環境)は、 a Javaプログラム。
Java環境変数を設定する適切な方法は次のとおりです:-
Java_HOMEは、JRE\binフォルダから取得する必要がある「Java.exe」の場所です。 PATHは、JDK\binフォルダーから取得する必要があるjavac.exeを探すことです。
これにより、JDKとJREの互換性も確保されます
Java_HOME env変数をいじることなく、ここでそれを修正することができました。
1.6.x jdkをインストールします。
インストールされているJREのEclipse/Preferencesで、JDKのエントリを追加してデフォルトにします(場所をJDKフォルダーに設定します(例:C:\ Program Files\Java\jdk1.6.0_34)。
プロパティを編集し、システムライブラリリストにJDK_HOME/lib/tools.jarを追加します。
または、jdkがインストールされていると想定して、JDK/lib/tools.jarを既存のデフォルトJREのシステムライブラリリストに追加できます。