Maven搭建hadoop環境報Missing artifact jdk.tools:jdk.tools:jar:1.7(5種辦法,2種正解)

小雷FansUnion發表於2015-10-16

  剛剛寫的那一篇,是網上比較主流的解決辦法。

  鑑於實際情況,有夥伴的機器上沒有遇到這個問題,我們再探究原因,最終還有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檔案,儲存就好了。


  

相關文章