您的位置:首页 > 编程语言 > Java开发

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

2015-10-16 11:33 465 查看
  刚刚写的那一篇,是网上比较主流的解决办法。
  鉴于实际情况,有伙伴的机器上没有遇到这个问题,我们再探究原因,最终还有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文件,保存就好了。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: