Вопрос

Я использую плагин Maven для Installing4J в моем проекте, расположенный здесь. Отказ Этот плагин позволяет передавать переменные для установки4j, используя <compilerVariables> раздел. Вот соответствующий раздел моего пома:

<plugin>
    <groupId>com.google.code.maven-install4j</groupId>
    <artifactId>maven-install4j-plugin</artifactId>
    <version>0.1.1</version>
    <configuration>
        <executable>${devenv.install4jc}</executable>
        <configFile>${basedir}/newinstaller/ehd.install4j</configFile>
        <releaseId>${project.version}</releaseId>
        <attach>false</attach>
        <skipOnMissingExecutable>false</skipOnMissingExecutable>
        <compilerVariables>
            <property>
                <name>m2_home</name>
                <value>${settings.localRepository}</value>
            </property>
        </compilerVariables>
    </configuration>
</plugin>

Проблема в том, что $ {settings.localrepository} не заменяется фактическим каталогом, когда я запускаю плагин. Вот скрипт командной строки, который создает 4J:

[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

Это вина плагина? Если это так, то что нужно изменить, чтобы позволить замене произойти?

Это было полезно?

Решение 2

Рассматриваемый плагин принимает параметр, который является экземпляром свойств. По какой причине выражения, используемые для настройки экземпляров свойств, не оцениваются автоматически. Я должен был изменить плагин для использования org.apache.maven.plugin.pluginparameterexputionEvaluator для оценки $ {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] сканирование для проектов ... [info] ---------------------------------------- ------------------------------------------- [info] Строительство q2828732 [info] целевой сегмент: [ Validate] [info] ------------------------------------------------------ ------------------------------- [info] [antrun: запустить {исполнение: по умолчанию}] [info] выполнение задач [echo] / home /Pascal/.m2/repository [info] Выполненные задачи [info] ---------------------------------------- ------------------------------------------ [info] Создать успешную [информацию] ------ ------------------------------------------------------- ------------------- [info] Общее время: 2 секунды [Информация] Закончено по адресу: Thue 13 мая 19:28:38 CEST 2010 [INFO] Окончательная память: 3M / 54M [ИНФОРМАЦИЯ] ----------------------------------------------- ----------------------------

Вышеприведенная работа для вас? Вы используете M2ECLIPSE? Может быть связано с MngeClipse-299.?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top