3

我正在尝试在 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>

它仍然成功。如果我放置了一个坏的 ant 文件。还是成功了。

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

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

我的 settings.xml 文件仅包含回购信息 感谢您的任何建议

编辑:

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

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

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

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

4

2 回答 2

1

解决方案*解决方案*解决方案 AHHH 我找到了!在我的 pom.xml 中,我在“pluginManagement”下配置了所有“插件”“插件”。这个“插件管理”不是为这个项目配置插件,而是为所有子项目配置插件。实际上是实现插件的所有子项的父级默认配置文件。我只是删除了“pluginManagement”标签,它就可以工作了……

感谢诸天。我已经看了一整天了...

于 2012-05-30T10:57:36.377 回答
0

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

根据文档,此参数“指定 ant 构建中的失败是否导致 Maven 构建失败。如果此值为 'true',即使 ant 构建失败,Maven 构建也会继续。如果它是 'false' ,那么如果 ant 构建失败,Maven 构建就会失败。”

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

于 2012-05-29T20:58:36.753 回答