我想將JDK tools.jar作爲編譯依賴項。我發現了一些例子,指示使用Systempath下屬性如下所示:作爲maven dependency的JDK tools.jar
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
的問題是,路徑不正確的Mac OS X(但是它是Windows和Linux是正確的)。對於它,正確的路徑是$ {java.home} /../ Classes/classes.jar。
我正在尋找一種方法來定義一個maven屬性,例如,如果系統被檢測爲Mac Os X,則值設置爲$ {java.home} /../ Classes/classes.jar,否則它被設置爲爲$ {java.home} /../ lib/tools.jar(就像ANT可以做的那樣)。有人有想法嗎?
我運行OS X 10.7(獅子),這工作對我來說,除了有趣的是我已經爲Linux盒( UNIX )* nix的輪廓。在這兩個配置文件中,它忽略了我的配置文件 mac 。因此,我可以更改* nix配置文件條目的路徑,或者必須註釋掉該配置文件的配置文件,以便它可以看到我的配置文件 mac –
2011-10-17 20:23:03
如果您需要同時支持Apple Java 6('Classes/classes。 jar')和Oracle Java 7('lib/tools.jar')在OS X上,這將不起作用,但@ Laurent的答案會。 – 2012-12-04 21:48:45
http://stackoverflow.com/a/29585979似乎是對我來說JDK 1.7,JDK 1.8和El Capitan更好的答案。 – 2016-02-05 16:25:11