Maven(m2e)不执行ant任务

我有一个POM文件(由Eclipse执行),我想在generate-sources阶段执行ANT任务。 基于m2e文档,在如何解决Spring Data Maven构建中的“生命周期配置未涉及的插件执行”中,Maven:在包中执行antrun任务,并在哪里放置maven-compiler-plugin声明:在<plugins>或<pluginManagement > ?,我以这种方式写下了我的POM文件:

<?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)请求Eclipse插件,以允许在generate-sources期间执行maven-antrun-plugin(1.8或更高版本)。 接下来,在generate-sources阶段和执行第一个插件之后,调用ant插件来运行回应我的消息的任务。

但是,消息并未显示出来。 当我执行generate-sources目标时,或执行install目标时,都不会。

我如果在这里遵循这个消息,并且在<execution>添加<phase>元素,就像这里:

<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)。 这里显示了一个没有针对ant插件的特定<pluginManagement>的例子。 但我也没有成功。

那么这里缺少什么?

谢谢,

拉斐尔阿丰索


实际上,我发现错误消息插件执行没有被生命周期配置所覆盖:org.apache.maven.plugins:maven-antrun-plugin:1.8:run(execution:ant-test,phase:generate-sources)对于Maven执行。 显示的信息没有问题。 说实话,我不得不改变tasktarget ,但消息继续显示。 也许这只是一种类似m2e的错误,唯一的影响就是让我们恼火。

链接地址: http://www.djcxy.com/p/44325.html

上一篇: Maven (m2e) is not executing ant task

下一篇: Performing specific Ant tasks in pom.xml