Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.7(5种办法,2种正解)

来源:互联网 时间:1970-01-01

  刚刚写的那一篇,是网上比较主流的解决办法。

  鉴于实际情况,有伙伴的机器上没有遇到这个问题,我们再探究原因,最终还有4种情况需要说明。

  先说,另外一种“正解”。

<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.0.1.1</version>
<exclusions>
....
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>

</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.5.1</version>
<exclusions>
。。。
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
</exclusions>
</dependency>

HBase和Hadoop的配置都排除jdk.tooks,之前只是Hadoop那个配置排除了。


其它3种场景或尝试

1.某伙伴的机器上,在没有排除和配置maven的情况下,并没有报错,这个比较奇怪。

2.某伙伴建议配置Java、Maven的Home变量、Classpath、Path,没有卵用。

3.网友建议:http://www.educity.cn/wenda/466544.html,没有卵用。

  Eclipse中找不到tools.jar的解决方法
原因:Eclipse默认使用 C:/windows/system32/javaw.exe 作为 JVM,所以找不到tools.jar

解决方法如下:
1、修改 eclipse.exe 目录下的 eclipse.ini,加入
-vm %JAVA_HOME%/bin/javaw.exe

前提是必须在环境变量里定义了JAVA_HOME,如果未定义,则需要写完整的绝对路径。
2、再次启动 eclipse。
3、ok.

(需要说明的是-vm,放在了eclipse.ini的最后一行,Eclipse启动报错,放在第1行正常)


-----------------------

总结:有2种比较好的解决办法,3种特殊情况和尝试。

网上比较主流的那种办法,我们没有采纳,而是用了我们自己发现的,本文中提到的排除jdk.tools这种办法。


说到排除这个问题,我觉得还是POM文件用的不够熟练。

打开POM文件,Depency Hierarchy,搜索tools.jar,手动排除依赖tools.jar,然后就会自动修改pom.xml文件,保存就好了。


  



相关阅读:
Top