EclipseでMavenを使用してプロジェクトを実行しようとしていますが、以下でこのエラーが発生します。 tools.jar
はJDKのlib
フォルダーにありますが、tools-1.6.jar
が私のコンピューターに存在しないようです。私はJDK1.7を使用しており、Java_HOME
はそのフォルダーを指しています(私のEclipse.ini
も同様です)。このファイルをどこで入手できるか、または何が間違っているかを誰かが知っていますか?
コンテナ「Maven依存関係」は存在しないライブラリを参照しますC:\Users\sejohnson\.m2\repository\com\Sun\tools\1.6\tools-1.6.jar
Tools-x.y.z.jarはJDKによって提供される必要があります。
Eclipse.iniに-vmオプションを追加して、EclipseがJREではなくJDKによって実行されていることを確認します。
例えば:
-vm
C:\Program Files\Java\jdk1.6.0_26\bin\javaw
-vm
の後の改行は重要です。
真上にあるはずです
-vmargs
私はまったく同じ問題を抱えていて、pomファイルに次の依存関係を追加することになりました:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>${Java.version}</version>
<scope>system</scope>
<systemPath>${Java_HOME}/lib/tools.jar</systemPath>
</dependency>
これにより問題が修正され、プロジェクトのQueryDSLプラグインでtools.jar
を使用できるようになりました。お役に立てれば。 JREの代わりにJDKバージョンが使用されていることを確認してください。
編集:最近、新しい開発プラットフォームに移動したときに問題が再発したことに気付きました。私の場合はUbuntu12.10でした。修正は、${Java_HOME}/bin
を$PATH
に追加することでした。
Eclipseがデフォルトで32ビットバージョンのjreになっている可能性があります。 Java_HOMEをC:\ Program Files\Java\jdk1.6.0_21\binに設定し、32ビットバージョンのEclipseを実行してすべてを正しく行うと、C:\ Program Files(x86)\ Java \のようなものを使用することになります。 jre6\bin。
jdkの問題を修正したら、ショートカット-vm "C:\ Program Files(x86)\ Java\jdk1.6.0_31\bin"の最後に渡す必要があります。
または、Java_HOMEを修正します
他の提案は、Eclipseがjreではなくjdkを使用していることを確認することでした http://gamefromscratch.com/post/2011/11/15/Telling-Eclipse-to-use-the-JDK-instead-of -JRE.aspx
Tools.jarを検索するか、この一般的なMaven依存関係の問題で別のプロジェクトをプレイすると、他の投稿が見つかります。
これと同じ問題が発生し、POMファイルの依存関係の1つが、必要のないjdk.tools jarに依存関係を推移的に追加していることが判明しました(そして、Eclipse Mavenプラグインで問題を引き起こしていました)。私の解決策は、次のような問題のある依存関係からそれを除外することでした。
<dependency>
<groupId>it.unimi.di</groupId>
<artifactId>mg4j-big</artifactId>
<version>${mg4j-big.version}</version>
<exclusions>
<exclusion>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
</exclusion>
</exclusions>
</dependency>
Jdk.tools jarを推移的にインポートしている依存関係を探して、上記のように除外してみてください。これで問題が解決するはずです。
ツールに関する依存関係についてpom.xmlを確認できますか?良いソースはmvnrepository.comですが、最終的にプロジェクトはEclipseの外部でコンパイルされますか? mvn clean compile
はDOSボックスまたはシェルで機能しますか?必要な場合は、mvn Eclipse:eclipse
を使用してEclipseプロジェクトファイルを再生成してから、Eclipseでプロジェクトを更新する必要があります。
このビルドの問題が発生している場合は、別のオプションがあります。同じビルドの問題があり、上記の提案をすべて試しましたが、問題はまだありました。次に、システムパスの最初の項目として「C:\ ProgramData\Oracle\Java\javapath」があることに気付きました。
どのプログラムがインストールしたのかわかりません。そして、私がフォルダをチェックしたとき、それはいくつかのリンク(ショートカット)しか持っていませんでした。これをシステムパスから削除すると、ビルドエラーが解決されました。これが同じ状況で他の誰かを助けることを願っています。
エコー@ゴパルラマクリシュナン。 envパス(Windows OS)でも同じ問題が発生しました。 Java.exeを含む「C:\ ProgramData\Oracle\Java\javapath」があるため、Eclipseの起動時に実際のjdkパスに影響を与えました。問題を解決したものを削除するだけです。 「C:\ ProgramData\Oracle\Java\javapath」はOracleの「sqldeveloper」によって静かに追加されたと確信しています...
同じ問題が発生したため、Eclipseにtools.jarを手動で追加する必要がありました。設定-> Java->インストールされたJRE-> jreの選択->編集->外部JARの追加->検索とtools.jar-> Finishを選択します。これで動作します。
問題を診断し、最終的に適切な解決策を提供するためのさまざまな手順を意味する可能性がある上記のすべてに加えて、最初にコマンドライン(つまり、Eclipseランタイムの外部)をチェックインします。コマンドラインからプレーンな「mvncleaninstall」を実行すると、次のようになります。
これらの2つの事実を使用して、JavaインストールおよびMavenインストールレベルで問題を除外できます。次に、Eclipseで使用できるのと同じ設定を使用するようにできます(Java JDK HOME、MAVEN HOME)上記の他の回答が詳細に説明しているように、コマンドラインで(具体的には brimstedt's および josh's )。
私の場合、pom.xmlにこの依存関係があることがわかりました
<dependency>
<groupId>com.Sun</groupId>
<artifactId>tools</artifactId>
<version>1.6.0</version>
<scope>system</scope>
<systemPath>${env.Java_HOME}/lib/tools.jar</systemPath>
</dependency>
ただし、Eclipseの起動時にJava_HOMEがJDKではなくJREに設定されていました。
したがって、tools.jarは実際にはこの理由で存在しませんでした