3 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
這就是配置文件的用途,提取屬性的路徑,為Windows,OSX等設(shè)置配置文件,并適當(dāng)?shù)囟x屬性值。
這是討論操作系統(tǒng)配置文件的文檔頁(yè)面:Maven本地設(shè)置模型
它應(yīng)該最終看起來(lái)像這樣:
<profiles>
<profile>
<id>windows_profile</id>
<activation>
<os>
<family>Windows</family>
</os>
</activation>
<properties>
<toolsjar>${java.home}/../lib/tools.jar</toolsjar>
</properties>
</profile>
<profile>
<id>osx_profile</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<toolsjar>${java.home}/../Classes/classes.jar</toolsjar>
</properties>
</profile>
</profiles>

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
感謝您向我介紹Maven個(gè)人資料。
我已經(jīng)使用了如上所述的配置文件,并根據(jù)所需文件的存在來(lái)激活配置文件:
<profiles>
<profile>
<id>default-profile</id>
<activation>
<activeByDefault>true</activeByDefault>
<file>
<exists>${java.home}/../lib/tools.jar</exists>
</file>
</activation>
<properties>
<toolsjar>${java.home}/../lib/tools.jar</toolsjar>
</properties>
</profile>
<profile>
<id>mac-profile</id>
<activation>
<activeByDefault>false</activeByDefault>
<file>
<exists>${java.home}/../Classes/classes.jar</exists>
</file>
</activation>
<properties>
<toolsjar>${java.home}/../Classes/classes.jar</toolsjar>
</properties>
</profile>
</profiles>
我在前一篇文章中發(fā)布了此答案以強(qiáng)調(diào)一個(gè)錯(cuò)誤:屬性部分只能在激活部分中使用,以便基于指定屬性的存在來(lái)激活配置文件。為了定義屬性,必須像上面一樣使用properties部分。

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
嗨,我知道你們都很聰明,但是這讓我花了幾天的時(shí)間才弄清楚答案是不完整的-配置文件和依賴項(xiàng)都是必需的。我希望沒(méi)有人會(huì)再浪費(fèi)時(shí)間在這上面。請(qǐng)?jiān)谙旅娌榭次业耐暾a:
<profiles>
<profile>
<id>osx_profile</id>
<activation>
<activeByDefault>false</activeByDefault>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<toolsjar>${java.home}/../Classes/classes.jar</toolsjar>
</properties>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6.0</version>
<scope>system</scope>
<systemPath>${toolsjar}</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
添加回答
舉報(bào)