2

在我的 Maven 构建中,我有一小段 Ant 代码需要在 Surefire 启动之前运行以执行一些配置。

代码是用 antrun 执行的,但我无法在 Surefire 之前执行 antrun。

这是我的构建输出的相关部分:

[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ com...tests ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 7 source files to C:\...\com...tests\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.16:test (default-test) @ com...tests ---
[INFO] Surefire report directory: C:\...\com...tests\target\surefire-reports

基本上我需要 antrun 在maven-compiler-plugin:3.1:testCompile和之间执行maven-surefire-plugin:2.16:test

我尝试将antrun绑定到测试阶段并将其放在POM文件中surefire插件之前,但它总是在Surefire插件之后执行。我还尝试将其配置为在 testCompile 阶段运行,并将其放在 maven-compiler-plugin 插件之后,但也没有成功..它在surefire之后执行。

有谁知道如何让它在这两者之间执行?

谢谢!

爱德华多

4

2 回答 2

5

您可以在生命周期阶段执行 antrun 插件,该process-test-classes阶段介于test-compiletest

于 2014-01-21T18:08:07.833 回答
5

如果你看一下构建生命周期,你会发现 compile/testCompile 和 test 之间有几个步骤......

compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy

所以我建议process-test-classes在你的情况下使用这正是你需要的。

于 2014-01-21T18:09:33.327 回答