1. ホーム
  2. java

Eclipse / Maven で Hadoop を構築する - アーティファクト jdk.tools:jar:1.6 の欠落

2023-09-23 12:47:37

質問

clouderaの org.apache.hadoop:hadoop-client:2.0.0-cdh4.0.0 をインポートしようとしています。 cdh4 maven repo から eclipse 3.81, m2e プラグイン, win7 で oracle の jdk 1.7.0_05 を使用した maven プロジェクトで、以下のようになります。

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>2.0.0-cdh4.0.0</version>
</dependency>

を作成しましたが、以下のエラーが発生します。

The container 'Maven Dependencies' references non existing library 'C:\Users\MyUserId\.m2\repository\jdk\tools\jdk.tools\1.6\jdk.tools-1.6.jar'

より具体的には、mavenは次のアーティファクトがないと述べています。

Missing artifact jdk.tools:jdk.tools:jar:1.6

これを解決するには?

どのように解決するのですか?

jdk.tools:jdk.tools (または com.sun:tools など)は、JDKと一緒に配布されているJARファイルです。通常はこのようにmavenプロジェクトに追加します。

<dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <scope>system</scope>
    <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>

ほら、この に依存関係を追加するための Maven FAQ を参照してください。 tools.jar

あるいは、手動で tools.jar を使ってローカルリポジトリにインストールすることもできます。

mvn install:install-file -DgroupId=jdk.tools -DartifactId=jdk.tools -Dpackaging=jar -Dversion=1.6 -Dfile=tools.jar -DgeneratePom=true

を使って、Clouderaのように参照します。

<dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <version>1.6</version>
</dependency>