maven缺少jdk-tools解决方法

来源:互联网 发布:windows kit 8.1 编辑:程序博客网 时间:2024/04/28 17:03

最近一直研究Hadoop的搭建、配置、管理层面的内容,越来越发现,如果缺乏应用开发以及源码阅读能力,在Hadoop的研究上很难更深一步(其实其他方面同样如此),在Jerry帮助下搭建了Eclipse+Maven进行Hadoop应用开发的环境,在pom.xml文件中指定依赖名称,就能方便地下载依赖包、查看源代码,Great!

在Maven的使用中,出现如下错误信息Maven Dependency Problem:
Missing artifact jdk.tools:jdk.tools:jar:1.6

这是什么原因呢?如何解决?

我这里的repository采用的是内部搭建的地址,依赖方面配置如下:
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>0.10.0-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase</artifactId>
    <version>0.94.6-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.flume.flume-ng-sinks</groupId>
    <artifactId>flume-hdfs-sink</artifactId>
    <version>1.3.0-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.5-cdh4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-mapreduce-client-app</artifactId>
    <version>2.0.0-cdh4.3.0</version>
</dependency>

接着Maven就报错了,指出pom.xml中存在Maven Dependency Problem:

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

Google一番后了解到,jdk.tools:jdk.tools是与JDK一起分发的一个JAR文件,可以如下方式加入到Maven项目中:
<dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <version>1.6</version>
    <scope>system</scope>
    <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>

详见Maven FAQ for adding dependencies to tools.jar

也可以在本地仓库中手动安装tools.jar,如下
mvn install:install-file -DgroupId=jdk.tools -DartifactId=jdk.tools -Dpackaging=jar -Dversion=1.6 -Dfile=tools.jar -DgeneratePom=true
然后在pom.xml中添加:
<dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <version>1.6</version>
</dependency>

Done!

0 0