Maven生成源始终成功

时间:2012-05-29 18:33:13

标签: maven

我正在尝试在maven generate-sources阶段运行一个ant任务。

然而,在我意识到许多非生产性的“成功”之后,无论我进入什么,构建总是成功。

这是我模块的pom.xml的插件配置。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <configuration>
                            <tasks>
                                <fail message="Something wrong here."/>
                            </tasks>
                        </configuration>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

它仍然成功。如果我放置一个坏的蚂蚁文件。仍然成功。

有谁知道我在这里做错了什么?

编译/清理/安装/部署阶段都可以正常工作。只是“生成源”根本不起作用。

我的settings.xml文件只包含Repo信息 感谢您的任何建议

修改

我已经能够将错误缩小一点。

<configuration>
<target>
<echo message="hello ant, from Maven!"/>
<echo>Maybe this will work?</echo>
</target>
</configuration>

如果将其置于插件的配置中,则不在执行标记的嵌套配置中。并运行“mvn antrun:run”我看到回声。但是如果我把它放在执行元素的嵌套配置中,它就不显示......我的mvn目标和antrun指令之间是否缺少某些链接?

我不明白。相同的配置在执行/执行标记之外运行,但不在。

之内

2 个答案:

答案 0 :(得分:1)

解决方案 * 解决方案 * 解决方案 啊,我找到了! 在我的pom.xml中,我在'pluginManagement'下配置了所有'plugins''plugin'。这个'pluginManagement'配置插件不是为了这个项目,而是为了所有的孩子项目。实际上是实现插件的所有孩子的父默认配置文件..我只是删除了'pluginManagement'标签,它的工作原理......

谢天谢地。我一直在看这一整天......

答案 1 :(得分:0)

尝试将<failOnError>false</failOnError>添加到执行中。

根据documentation,此参数&#34;指定ant构建中的失败是否导致Maven构建失败。如果此值为&#39; true&#39;,即使ant构建失败,Maven构建也将继续。如果它是“假”,那么如果ant构建失败,则Maven构建将失败。&#34;

这对我来说是违反直觉的。我认为&#34; true&#34;的默认值如果ant构建失败,会导致Maven构建失败,但这不是文档似乎在说什么。