У меня есть файл POM (для выполнения Eclipse), где я хочу выполнить задачу ANT во время фазы generate-sources
. На основе m2e documentation, в How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds, Maven: execute antrun task during package и Where should be placed maven-compiler-plugin declaration: in <plugins> or <pluginManagement>?, я написал свой файл POM таким образом:Maven (m2e) не выполняет ant task
<?xml version="1.0" encoding="UTF-8"?>
<project>
...
<build>
<pluginManagement>
<plugins>
...
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[1.8,)</versionRange>
<goals>
<goal>generate-sources</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute/>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<!-- Plugin 1 -->
</plugin>
<plugin>
<!-- Plugin to be executed during generate-sources phase. -->
</plugin>
<plugin>
<!-- Should be in the generate-sources phase after the plugin above. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>ant-test</id>
<configuration>
<task>
<echo message="ANT TEST" />
</task>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
То, что я понял из моего чтения, является то, что я прошу говорить с Maven следующего: Сначала прошу Затмение плагин для Maven (m2e), чтобы разрешить запуск maven-antrun-plugin (версия 1.8 или выше) во время generate-sources
. Затем, в фазе generate-sources
и после выполнения первого плагина, вызовите плагин ant для запуска задачи, которая эхо меняет мое сообщение.
Однако мессендж не отображается. Ни когда я выполняю только цель generate-sources
, ни когда я выполняю цель install
.
I, если следовать this sugestion here и добавьте <phase>
элемент внутри <execution>
, как здесь:
<executions>
<execution>
<id>ant-test</id>
*<phase>generate-sources</phase>*
<configuration>
<task>
<echo message="ANT TEST" />
</task>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
У меня есть сообщение об ошибке Eclipse: выполнения плагин не охваченных конфигурациями жизненных цикла: org.apache.maven.plugins : maven-antrun-plugin: 1.8: run (исполнение: ant-test, phase: generate-sources). Here показывает пример, где нет конкретного <pluginManagement>
для муравьиного плагина. Но и у меня не было успеха.
Так что здесь отсутствует?
Спасибо,
Рафаэль Афонсу
Измените конфигурацию в m2e от 'generate-sources' до' run' ... – khmarbaise
Извините, это не сработало. :( –