我们可以在maven surefire插件之前执行exec maven插件吗?
是否可以在maven surefire插件之前运行exec maven插件,我在运行过程中观察到maven surefire插件首先执行,即使标记中的顺序是第二个。我的场景是执行JAVA类(使用exec maven插件),该类生成testng.xml,并可以使用(maven surefire插件)运行该类 首先,如果将执行我们可以在maven surefire插件之前执行exec maven插件吗?,maven,maven-surefire-plugin,exec-maven-plugin,Maven,Maven Surefire Plugin,Exec Maven Plugin,是否可以在maven surefire插件之前运行exec maven插件,我在运行过程中观察到maven surefire插件首先执行,即使标记中的顺序是第二个。我的场景是执行JAVA类(使用exec maven插件),该类生成testng.xml,并可以使用(maven surefire插件)运行该类 首先,如果将执行exec maven plugin绑定到test阶段,则此执行通常在执行maven surefire plugin之后执行。原因是您可能正在处理一个将jar打包到test阶段的
exec maven plugin
绑定到test
阶段,则此执行通常在执行maven surefire plugin
之后执行。原因是您可能正在处理一个将jar
打包到test
阶段的项目。无论插件在POM中声明在何处,此默认执行始终是第一个被调用的执行。在日志中,您将发现此执行的id为defaulttest
有一种方法可以在运行测试之前通过利用执行操作。在您的例子中,您的目标是生成一个测试资源,testng.xml
,因此使用生成测试资源
阶段是合适的,其目的是创建测试所需的资源。因此,您只需要指定
<phase>generate-test-resources</phase>
生成测试资源
执行execmaven插件
生成testng.xml
然后,您可以将生成的
testng.xml
与元素一起使用,请参见首先,如果执行绑定到test
阶段的exec maven plugin
,则此执行通常在maven surefire plugin
之后执行。原因是您可能正在处理一个将jar
打包到test
阶段的项目。无论插件在POM中声明在何处,此默认执行始终是第一个被调用的执行。在日志中,您将发现此执行的id为defaulttest
有一种方法可以在运行测试之前通过利用执行操作。在您的例子中,您的目标是生成一个测试资源,testng.xml
,因此使用生成测试资源
阶段是合适的,其目的是创建测试所需的资源。因此,您只需要指定
<phase>generate-test-resources</phase>
生成测试资源
执行execmaven插件
生成testng.xml
然后,您可以将生成的
testng.xml
与元素一起使用,请参见这是我如何实现的:
org.codehaus.mojo
构建助手maven插件
过程资源
添加源
src/test/java/BeforeSuite
org.codehaus.mojo
execmaven插件
测试套件脚本之前
生成测试资源
JAVA
BeforeSuite.HelloBeforeSuiteScript
我就是这样实现的:
org.codehaus.mojo
构建助手maven插件
过程资源
添加源
src/test/java/BeforeSuite
org.codehaus.mojo
execmaven插件
测试套件脚本之前
生成测试资源
JAVA
BeforeSuite.HelloBeforeSuiteScript
谢谢您的回答,我不确定我在这里遗漏了什么,请检查我添加到问题中的代码,并告诉我哪里出了问题,哪里出了问题。您的回复将不胜感激。@kalyanchavali这是一个新问题,与您最初的问题无关,我鼓励您发布一个新问题。src/test/java
关注的是:为什么要这样做src/test/java
是测试源目录,而不是main。此外,为什么要使用空标记
和
?请发布一个新问题。谢谢你的回答,我不确定我在这里遗漏了什么,请检查我添加到问题中的代码,让我知道哪里出了问题,哪里出了问题。您的回复将不胜感激。@kalyanchavali这是一个新问题,与您最初的问题无关,我鼓励您发布一个新问题。src/test/java
关注的是:为什么要这样做src/test/java
是测试源目录,而不是main。此外,为什么要使用空标记
和
?请发一个新问题。