Я использую плагин знатока для install4j в моем проекте, расположенном здесь. Тот плагин позволяет Вам передать переменные install4j с помощью
раздел. Вот соответствующий раздел моего англичанина:
com.google.code.maven-install4j
maven-install4j-plugin
0.1.1
${devenv.install4jc}
${basedir}/newinstaller/ehd.install4j
${project.version}
false
false
m2_home
${settings.localRepository}
Проблема состоит в том, что $ {settings.localRepository} не заменяют с фактическим каталогом, когда я выполняю плагин. Вот сценарий командной строки, который генерирует install4j:
[INFO] Running the following command for install4j compile: /bin/sh -c /home/zach/install4j/bin/install4jc --release=9.1-SNAPSHOT --destination="/home/zach/projects/java/ehdtrunk/target/install4j" -D m2_home=${settings.localRepository} /home/zach/projects/java/ehdtrunk/newinstaller/ehd.install4j
Действительно ли это - отказ плагина? Если так, что потребности измениться, чтобы позволить замене происходить?
Рассматриваемый плагин принимает параметр, который является экземпляром Properties. По какой-то причине выражения, используемые для настройки экземпляров Properties, не оцениваются автоматически. Мне пришлось изменить плагин, чтобы он использовал org.apache.maven.plugin.PluginParameterExpressionEvaluator для оценки ${settings.localRepository}.
Следующий POM просто работает у меня (с Maven 2.2.1):
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow</groupId>
<artifactId>Q2828732</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<configuration>
<tasks>
<echo>${settings.localRepository}</echo>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
И запуск mvn process-ressources дает следующий результат:
$ mvn validate [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Building Q2828732 [INFO] task-segment: [validate] [INFO] ------------------------------------------------------------------------ [INFO] [antrun:run {execution: default}] [INFO] Executing tasks [echo] /home/pascal/.m2/repository [INFO] Executed tasks [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2 seconds [INFO] Finished at: Thu May 13 19:28:38 CEST 2010 [INFO] Final Memory: 3M/54M [INFO] ------------------------------------------------------------------------
Работает ли вышеупомянутое для вас? Вы используете M2Eclipse? Может ли это быть связано с MNGECLIPSE-299 ?