Mavent AntRun不执行任务

dtcbnfnu  于 2023-10-17  发布在  Maven
关注(0)|答案(4)|浏览(211)

按照使用页面(http://maven.apache.org/plugins/maven-antrun-plugin/usage.html)上的说明和其他Stackoverflow问题,我一直在尝试从我的Maven构建中运行Ant任务。我已经把我要做的事情简化为一个简单的回声“你好,Maven”,但我什么也没有得到。
我在执行Maven:

mvn package

我希望这个任务在打包之前运行(“packagingre-package”),所以我先尝试了这个阶段,但是当它不起作用时,我试着让我的阶段只是“package”。
以下是我尝试过的一个插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>id.package.ant</id>
            <phase>package</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target>
                    <echo message="Hello, maven"/>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>

这是我试过的另一个:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>id.package.ant</id>
            <phase>package</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <tasks>
                    <echo message="Hello, maven"/>
                </tasks>
            </configuration>
        </execution>
    </executions>
</plugin>

我也试过这些没有。
我没有得到任何错误,没有任何输出。即使我执行Maven -debug,单词“echo”也不会出现在输出中,单词“antrun”也不会出现在输出中,单词“hello”也不会出现在输出中。
就像插件配置甚至不存在。

cyvaqqii

cyvaqqii1#

安德鲁在他的评论中有正确的答案。当我将maven-antrun-plugin AS-IS(使用<target>而不是<tasks>)移出<pluginManagement>并进入独立的<plugins>时,我的Ant任务开始执行。
令人惊讶的是,以前有多少Google和Stackoverflow的搜索没有返回其他问题,但现在我更好地理解了pluginManagement。谢谢安德鲁

7ivaypg9

7ivaypg92#

把蚂蚁从1.7改到1.8解决了我的问题。

jckbn6z7

jckbn6z73#

我遇到了类似的问题,只有当我添加版本1.8标签时才有效。否则就行不通了。这个可能会有帮助

ffscu2ro

ffscu2ro4#

我也有类似的问题。在我的例子中,这是因为我没有为执行设置<id>...</id>标记。下面是工作的XML:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.8</version>
    <executions>
        <execution>
            <id>test</id> <!-- has to be set -->
            <phase>validate</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target name="test">
                    <echo message="testing 1 2 3"/>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>

相关问题