1. 程式人生 > >maven工程pom.xml報jdk.tools.jar找不到問題

maven工程pom.xml報jdk.tools.jar找不到問題

pom 文件的 targe copy 自己 .exe target 別人 數據平臺

轉自:http://www.cnblogs.com/gaoxu007/p/7204827.html

最近項目中使用到大數據平臺,代碼中應用了hbase-client.0.98.6-hadoop2.jar包,該包中引用了jdk.tools.1.7,所以導致eclipse中pom.xml老是提示Missing artifact jdk.tools:jdk.tools:jar:1.7。從網上找了一下原因大多都說是工程maven找不到系統內的jdk1.7,根本原因是沒有指定javaw.exe的的位置導致的,具體解決方法有三種,這裏我偏向第一種,因為第二和第三種都改改動pom.xml文件,這樣並不好,因為我們再開發中工程代碼有多個人共同開發,你改動pom文件可能會影響別人,所以pom盡量有一個人管理,盡量少帶動別人的代碼。

註意 在使用下面三種方法之前先檢查一下eclipse或STS中的JDK路徑配置是否正確:

首先,通過正常運行eclipse或STS,打開window-->preferences-->java-->installed jres 頁面的窗口

技術分享

技術分享

一定要確保這個JDK路徑是你本機的JDK路徑,而不是你本機外的JRE路徑,因為本人再裝jdk的時候,同時裝了一個jre,我打開STS 的時候默認jdk是我的jre路徑,而非我的jdk路徑

技術分享

如果上面的檢查配置還是不行,則采用下面是三種解決方法解決。

方法一:修改eclipse或STS啟動配置

找到eclipse或STS的安裝路徑,在安裝路徑下找到eclipse.ini或STS.ini,將其文件打開,在文件中找到“-vmargs”,在“-vmargs”之前添加下面代碼

-vm
D:\tools\java\jdk1.7\jre\bin\server\jvm.dll

其中 D:\tools\java\jdk1.7 替換成自己的JAVA_HOME路徑記錄。如圖:

技術分享

修改之後重啟eclipse或STS即可

方法二:直接在pom.xml中加上一個依賴項目

在pom文件中添加下面配置

技術分享
<dependency>  
    <groupId>jdk.tools</groupId>  
    <artifactId>jdk.tools</artifactId>  
    <version>1.7</version>  
    <scope>system</scope>  
    <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>  
</dependency>  
技術分享

方法三:在pom文件的plugins中指定jdk

在maven工程的pom文件中添加如下配置(驗證唯一有效方法)

技術分享

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
        </configuration>
    </plugin>
</plugins>

maven工程pom.xml報jdk.tools.jar找不到問題