![](/img/trans.png)
[英]Izpack Maven plugin Invalid base directory on Eclipse Maven project
[英]How can I use Maven project properties in izpack-maven-plugin install.xml?
在http://maksim.sorokin.dk/it/2010/06/10/izpack-with-maven/之后,我編寫了一個Maven POM,它使用izpack-maven-plugin創建一個IzPack安裝程序。
但是,我現在發現了將插件配置參數(例如工件名稱和版本)傳遞到install.xml文件的方法。 有沒有辦法將這些值從POM傳遞到插件?
例:
在src / main / resources / install.xml中:
<installation version="1.0">
<info>
<appname>MyApp</appname>
<appversion>1.0.0</appversion>
</info>
...
我如何在這里使用Maven屬性project.name和project.version,所以看起來像:
<installation version="1.0">
<info>
<appname>${project.name}</appname>
<appversion>${project.version}</appversion>
</info>
...
我知道這個問題確實很老,但是這一直是我試圖弄清楚如何從POM項目版本中自動提取IzPack中的appversion時在搜索中出現的問題。
正確的方法是在POM中設置Maven屬性,並使用@ {property}語法在IzPack install.xml中引用該屬性。 無需過濾資源。
pom.xml:
...
<properties>
<myproduct.name>${project.name}</myproduct.name>
<myproduct.version>${project.version}</myproduct.version>
</properties>
...
install.xml:
...
<info>
<appname>@{myproduct.name}</appname>
<appversion>@{myproduct.version}</appversion>
...
您的maven-resources-plugin調用可以使用pom本身定義的項目屬性來過濾所涉及的資源,或者更好地使用屬性文件來進行過濾。 Maven-資源-插件用法
<build>
...
<filters>
<filter> [a filter property or properties file] </filter>
</filters>
...
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.2</version>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
...
</plugin>
</build>
filter屬性在pom中具有以下語法:
<properties>
<your.name>world</your.name>
</properties>
意味着“ your.name”屬性具有“ world”值。
如果在src / main / resources中指定屬性文件:
your.name=world
然后在pom的<filter>元素中指定文件名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.