按照使用页面(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”也不会出现在输出中。
就像插件配置甚至不存在。
4条答案
按热度按时间cyvaqqii1#
安德鲁在他的评论中有正确的答案。当我将maven-antrun-plugin AS-IS(使用
<target>
而不是<tasks>
)移出<pluginManagement>
并进入独立的<plugins>
时,我的Ant任务开始执行。令人惊讶的是,以前有多少Google和Stackoverflow的搜索没有返回其他问题,但现在我更好地理解了pluginManagement。谢谢安德鲁
7ivaypg92#
把蚂蚁从1.7改到1.8解决了我的问题。
jckbn6z73#
我遇到了类似的问题,只有当我添加版本1.8标签时才有效。否则就行不通了。这个可能会有帮助
ffscu2ro4#
我也有类似的问题。在我的例子中,这是因为我没有为执行设置
<id>...</id>
标记。下面是工作的XML: