web-dev-qa-db-ja.com

不足しているツール-EclipseとMavenを使用した1.6.jar

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

13
Soren Johnson

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

参照 Eclipse Mavenプラグイン構成の問題

15
Brimstedt

私はまったく同じ問題を抱えていて、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に追加することでした。

13
pilot

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依存関係の問題で別のプロジェクトをプレイすると、他の投稿が見つかります。

5
Josh

tools.jarは(私が知っているように)どのパブリックリポジトリでも提供されていません。もしあなたの pom.xmlローカルリポジトリ内のファイルを参照します。自分でインストールする必要があります。使用しているpom.xmlは、誰かがツールを作成/インストールしたことを想定しているようです-アクセス可能なMavenリポジトリに1.6.jar(たとえば、 Nexus のような会社の中央Mavenリポジトリマネージャ)。

それが適切でない場合は、Maven FAQs で説明されているように依存関係を変更してみてください。

1
FrVaBe

これと同じ問題が発生し、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を推移的にインポートしている依存関係を探して、上記のように除外してみてください。これで問題が解決するはずです。

1
ametke

ツールに関する依存関係についてpom.xmlを確認できますか?良いソースはmvnrepository.comですが、最終的にプロジェクトはEclipseの外部でコンパイルされますか? mvn clean compileはDOSボックスまたはシェルで機能しますか?必要な場合は、mvn Eclipse:eclipseを使用してEclipseプロジェクトファイルを再生成してから、Eclipseでプロジェクトを更新する必要があります。

1
eon

このビルドの問題が発生している場合は、別のオプションがあります。同じビルドの問題があり、上記の提案をすべて試しましたが、問題はまだありました。次に、システムパスの最初の項目として「C:\ ProgramData\Oracle\Java\javapath」があることに気付きました。

どのプログラムがインストールしたのかわかりません。そして、私がフォルダをチェックしたとき、それはいくつかのリンク(ショートカット)しか持っていませんでした。これをシステムパスから削除すると、ビルドエラーが解決されました。これが同じ状況で他の誰かを助けることを願っています。

0

エコー@ゴパルラマクリシュナン。 envパス(Windows OS)でも同じ問題が発生しました。 Java.exeを含む「C:\ ProgramData\Oracle\Java\javapath」があるため、Eclipseの起動時に実際のjdkパスに影響を与えました。問題を解決したものを削除するだけです。 「C:\ ProgramData\Oracle\Java\javapath」はOracleの「sqldeveloper」によって静かに追加されたと確信しています...

0
lingdl

同じ問題が発生したため、Eclipseにtools.jarを手動で追加する必要がありました。設定-> Java->インストールされたJRE-> jreの選択->編集->外部JARの追加->検索とtools.jar-> Finishを選択します。これで動作します。

0
Berit Larsen

問題を診断し、最終的に適切な解決策を提供するためのさまざまな手順を意味する可能性がある上記のすべてに加えて、最初にコマンドライン(つまり、Eclipseランタイムの外部)をチェックインします。コマンドラインからプレーンな「mvncleaninstall」を実行すると、次のようになります。

  1. Java実行可能ファイルが正しく設定されているかどうかの確実性(もちろんEclipseを含むすべてのJavaアプリで使用されるデフォルトであるため、
  2. MavenバージョンがJDKプロビジョニングを介してtools * .jar要件を適切に解決することの確実性

これらの2つの事実を使用して、JavaインストールおよびMavenインストールレベルで問題を除外できます。次に、Eclipseで使用できるのと同じ設定を使用するようにできます(Java JDK HOME、MAVEN HOME)上記の他の回答が詳細に説明しているように、コマンドラインで(具体的には brimstedt's および josh's )。

0
RickB

私の場合、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_HOMEJDKではなくJREに設定されていました。

したがって、tools.jarは実際にはこの理由で存在しませんでした