Как я могу использовать свойства проекта Maven в izpack-maven-plugin install.xml? - PullRequest
0 голосов
/ 26 февраля 2011

После http://maksim.sorokin.dk/it/2010/06/10/izpack-with-maven/ Я написал Maven POM, который создает установщик IzPack , используя izpack-maven-plugin .

Однако теперь я нашел способ передать параметры конфигурации плагина, такие как имя и версия артефакта, в файл 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>
...

Ответы [ 2 ]

2 голосов
/ 13 сентября 2016

Я знаю, что этот вопрос действительно старый, но этот вопрос постоянно возникал при поиске, когда я пытался выяснить, как заставить приложение в IzPack автоматически извлекать версию проекта POM.

Правильный подход к этому - установить свойство Maven в POM и ссылаться на свойство в файле install.xml IzPack, используя синтаксис @ {property}.Фильтрация ресурсов не требуется.

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

1 голос
/ 26 февраля 2011

Ваш вызов плагина maven-resources-plugin может фильтровать задействованные ресурсы, используя свойства проекта, определенные в самом pom, или, что лучше, используя файл свойств. использование подключаемого модуля maven-resources

<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>

Свойство фильтра имеет такой синтаксис в pom:

<properties>
  <your.name>world</your.name>
</properties>

означает, что свойство your.name имеет значение world.

Если вы указываете файл свойств в src / main / resources:

your.name=world

и затем укажите имя файла в элементе в pom.

...