14

C:\Program Files\Java\jre6\プロジェクトでmavenパッケージを実行すると、JAVA_HOME変数が設定され、依存関係を解決できないことが通知されます。

[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ローカルリポジトリを調べたところ、log4j1.2.16がこの依存関係を使用していることがわかりました。

JAVA_HOMEを次のように見せようとしましC:\Program Files\Java\jre6\bin\たが、Mavenが実行されないため、JAVA_HOMEパスが間違っていることがわかりました。

4

15 に答える 15

16

JREだけでなくJavaJDKも必要になります。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:\jdkMavenのJDKでは、${java.home}がポイントしていますc:\jdk\jre

于 2011-03-19T02:15:04.897 に答える
8

私はまた、これが私を助けてくれたことを発見しました。

... Eclipseでは、インストールされたJREがJDKインストールを使用していることを確認する必要があります。

これは、構成オプションで...ウィンドウ/設定/Java/インストールされたJRE...JDKインストールをポイントする必要があることを意味します。

jdk内のjreへのパスを変更する必要があります。%Program Files%\ Java \ jdk1.6.0_25\jreの場合

于 2012-02-15T14:02:07.673 に答える
2

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>
于 2011-12-19T16:00:19.367 に答える
1

この問題は、Intellij IDEA(IDEA 11.x〜Windows 7〜Java 7)でも発生します。systempathプロパティを指定すると、IDEAjreが参照されていました...

安定した解決策は、$ 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>
于 2012-12-25T01:09:30.473 に答える
1

ウィンドウ設定の変更に関する回答にもう少し情報を追加するだけです。これは当然の選択のように思われたので、私はJREの場所を配置しました。C:\Program Files\Java\jre7

ただし、これは失敗です。指摘された正解はC:\Program Files\Java\jdk1.7.0_10\jreです。間違いやすいので、これを指摘します。

于 2013-05-02T16:17:24.247 に答える
1

今日も同じ問題がありました。このWindowsインストール(したがってフォルダの名前)がドイツ語であるにもかかわらず、パスで「プログラムファイル」を使用する必要が特にあったことがわかりました。

このようなことが起こったのも初めてではありません。

したがって、パスが正しいことが確実な場合は、ローカライズされた代替手段の代わりに「プログラムファイル」を試してください。私のために働いた。

于 2013-09-30T09:07:19.020 に答える
0

JAVA_HOME env変数をいじることなく、これを修正することができました。

1.6.xjdkをインストールします。

インストールされたJREの下のEclipse/Preferencesで、JDKのエントリを追加し、それをデフォルトにします(場所をJDKフォルダーに設定します(例:C:\ Program Files \ Java \ jdk1.6.0_34))。

プロパティを編集し、JDK_HOME / lib/tools.jarをシステムライブラリリストに追加します。

または、jdkがインストールされていると仮定して、JDK / lib/tools.jarを既存のデフォルトJREのシステムライブラリリストに追加できます。

于 2012-11-27T15:25:24.733 に答える
0

必要なツールはJDK(Java Development Kit)でのみ配布されるため、JavaプログラムのJDKを作成、コンパイル、およびパッケージ化する必要があります。JRE(Javaランタイム環境)は、Javaプログラムを実行するためにのみ必要です。

于 2011-03-19T09:49:23.590 に答える
0

キー入力中にコマンドプロンプトで適切な応答を確認できましたjava -versionが、入力中にこのエラーが発生しましたmvn -version

私の場合、それはばかげた間違いでした。最近、環境変数がフォルダJAVA_HOMEを指していました が、それが問題の原因でした。..\jdk\bin変数の値からbinを削除した後JAVA_HOME、Mavenで作業できるようになりました。

注:システム変数パスには、JDKのbinフォルダーを指す値が含まれている必要があります。

よろしく、Balaji.K

于 2013-07-08T07:31:20.367 に答える
0

JAVA環境変数を構成する適切な方法は次のとおりです:-

  1. JAVA_HOMEを「jdkフォルダ」\jreに設定します
  2. 「jdkfolder」\binをPATHユーザー環境変数に追加します

JAVA_HOMEは、JRE\binフォルダーから取得する必要がある「java.exe」の場所です。PATHは、JDK\binフォルダーから取得する必要のあるjavac.exeを探すことです。

これにより、JDKとJREの互換性も確保されます

于 2013-07-31T06:17:10.537 に答える
0

Mavenを実行するには-JDKを指すように環境変数JAVA_HOMEを構成する必要があります

例:JAVA_HOME = C:\ Program Files \ Java \ jdk1.7.0_25

また、PATH環境変数にC:\ Program Files \ Java \ jdk1.7.0_25\binが含まれている必要があります。

よろしく、ディパン

于 2013-08-31T01:38:12.633 に答える
0

私は同様の問題に直面しました、以下は問題を解決しました:

JAVA_HOME = C:\Program Files\java\jdk
M2_HOME= C:\Program Files\apache-maven

inside path = ....%JAVA_HOME%\bin;%M2_HOME%\bin;

これで問題は解決しました。

于 2013-10-04T05:59:22.673 に答える
0

私も同様の問題を抱えていましたが、答えはとても簡単です。

mavenは、Javaパスをパス変数に書き込んだことに気付くまで、JAVA_HOME変数を見つけることができませんでした。したがって、私の「エラー:環境にJAVA_HOMEが見つかりません...」に対する答えは、JAVA_HOMEという名前の新しい変数を作成することでした。ダミーにとっては失敗かもしれませんが、気付くのに1時間かかりました...

于 2014-03-21T09:48:10.310 に答える
0

また、Javaライブラリがプロジェクトのクラスパスにあることを確認する必要があります。プロジェクトのプロパティ->Javaビルドパス->ライブラリタブに移動します。jdkライブラリがリストされているかどうかを確認します。追加しない場合。これもそのようなエラーの原因となる可能性があります。

于 2015-12-16T12:26:12.087 に答える
0

コマンドラインMavenプロジェクトのJava自動更新(Windows 7の場合)後にこの問題が発生しました(Eclipse内のMavenバージョンとは別の問題です)。JREの自動更新により、システムのJAVA_HOME環境変数が指すJDKの下のjreフォルダーが削除されました。jreが見つからなかったため、mavenはデフォルトで新しくインストールされたJREになりました(まだ方法がわかりません)。JDKディレクトリの下のjreフォルダを復元し、システムのPath変数の先頭に追加されたC:\ ProgramData \ Oracle \ Java \ javapathへの参照を削除すると、Mavenビルドが通常に戻りました。

于 2016-02-09T16:25:11.933 に答える