2010-12-01 95 views
1

我需要將JDK的tools.jar添加爲項目依賴項。Maven systemPath未添加到運行時類路徑

將其設置爲普通依賴不起作用,因爲將其安裝到Maven存儲庫時,會向該jar文件添加版本號。之後,當我需要某些需要tools.jar的東西放在類路徑中時,它會失敗。

使用系統範圍並使用<系統路徑>設置到jar的路徑應該解決問題。但是,儘管在測試中jar被添加到類路徑中,但在運行時卻不是。

有沒有辦法解決這個問題?

順便說一下,我已經將< useManifestOnlyJar> false </useManifestOnlyJar>添加到surefireplugin中,以便我可以看到類路徑中的每個文件。

+0

你怎麼跑在應用程序運行時?是戰爭,可執行jar還是其他?有沒有啓動腳本?換句話說,您如何使用Maven準備的運行時類路徑? – 2011-08-18 09:34:39

回答

3

Maven是否運行在JDK中?

瞭解它的運行的Java版本,

MVN -ver

設置你的JAVA_HOME環境變量指向一個JDK。

+1

+1:如果您在JRE下運行Maven,tools.jar將不在運行時類路徑中。 – jgifford25 2010-12-02 14:52:24

1

如果你的JDK,使用系統範圍不包括,見FAQ

<profiles> 
    <profile> 
    <id>default-tools.jar</id> 
    <activation> 
     <property> 
     <name>java.vendor</name> 
     <value>Sun Microsystems Inc.</value> 
     </property> 
    </activation> 
    <dependencies> 
     <dependency> 
     <groupId>com.sun</groupId> 
     <artifactId>tools</artifactId> 
     <version>1.4.2</version> 
     <scope>system</scope> 
     <systemPath>${java.home}/../lib/tools.jar</systemPath> 
     </dependency> 
    </dependencies> 
    </profile> 
</profiles> 
相關問題