簡體   English   中英

如何在izpack-maven-plugin install.xml中使用Maven項目屬性?

[英]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>
...

IzPack屬性文檔

您的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM