Ошибка "Выполнение плагина не предусмотрено конфигурацией жизненного цикла" с помощью maven-antrun-plugin
Я пытаюсь построить проект из файла POM с помощью команды:
mvn clean install
Но я продолжаю получать эту ошибку:
Выполнение плагина не охватывается конфигурацией жизненного цикла: org.apache.maven.plugins:maven-antrun-plugin:1.3:run (выполнение: сборка, фаза: компиляция)
Похоже, Eclipse не имеет плагина для Ant в своем магазине приложений. Как я могу решить это?
Вот раздел плагинов моего файла pom.xml:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>build</id>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<!-- Use exec instead of ant as src/ant/.ant.properties needs to be read in -->
<exec executable="ant" osfamily="unix" dir="${basedir}/src" failonerror="true">
<arg line="jar" />
</exec>
<exec executable="cmd" osfamily="windows" dir="${basedir}/src" failonerror="true">
<arg value="/c" />
<arg value="ant.bat" />
<arg line="jar" />
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
1 ответ
Это проблема с M2Eclipse. Вы должны указать, что цель run
должен быть выполнен. Добавьте этот код перед plugins
тег:
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
<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.7,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
Источник здесь
Для чего стоит, код плагина, который я использую, приведен ниже. Я использую deploy
фаза, но вы можете использовать другой, если хотите
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>antrun.package</id>
<phase>deploy</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<mkdir dir="${destinationBasePath}/WEB-INF/classes"/>
<copy todir="${destinationBasePath}\WEB-INF\classes">
<fileset dir="${basedir}/target/classes" includes="**" />
</copy>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>