maven antrun 插件
Posted
技术标签:
【中文标题】maven antrun 插件【英文标题】:maven antrun plugin 【发布时间】:2011-04-16 23:44:38 【问题描述】:我的 pom 中有以下内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ant-plugin</artifactId>
<version>2.3</version>
<configuration>
<target>
<echo
message="hello ant, from Maven!" />
<echo>Maybe this will work?</echo>
</target>
</configuration>
</plugin>
然而,当我运行“mvn antrun:run”时,我得到了这个:
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'antrun'.
[INFO] ------------------------------------------------------------------------
[INFO] Building myProject
[INFO] task-segment: [antrun:run]
[INFO] ------------------------------------------------------------------------
[INFO] [antrun:run execution: default-cli]
[INFO] Executing tasks
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Fri Sep 24 13:33:14 PDT 2010
[INFO] Final Memory: 16M/28M
[INFO] ------------------------------------------------------------------------
为什么回声没有出现?
TIA
【问题讨论】:
重申我错过的一些事情 - 确保并使用插件的 1.5+ 版本。 【参考方案1】:因为如果你想执行 Ant 任务,你应该使用Maven AntRun Plugin,而不是Maven Ant Plugin(用于从 POM 为 Ant 1.6.2 或更高版本生成构建文件)。修改你的插件配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.5</version>
<configuration>
<target>
<echo message="hello ant, from Maven!"/>
<echo>Maybe this will work?</echo>
</target>
</configuration>
</plugin>
并且调用antrun:run
将起作用:
【讨论】:
哦,伙计,多么可笑的简单却令人恼火的错误!非常感谢,你就像 Java 的 Jon Skeet :D @javamonkey79 不客气。两个插件之间发生混淆,引起我注意的是版本之间的不匹配。【参考方案2】:确保maven-antrun-plugin
使用的是最新版本。
我的项目中一个不相关的 BOM 将其锁定为 1.3,而 <echo>
被忽略。删除 BOM 并为 antrun 指定 1.7 后,回声起作用了。
【讨论】:
以上是关于maven antrun 插件的主要内容,如果未能解决你的问题,请参考以下文章