更改 maven surefire-plugin 的输出目录
Change output directory of maven surefire-plugin
我正在尝试更改由 maven 项目中的 surefire-plugin 生成的 XML 文件的输出文件夹。我在 report-plugin 的配置括号内以及 maven-site-plugin(在 documentation 中提到)中声明了目标输出文件夹。
我还尝试在报告块中声明 maven-site-plugin,但这似乎效果不佳。我的 XML 文件总是被写入默认的 surefire-reports 文件夹。
我的 pom.xml 有以下条目:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<showSuccess>true</showSuccess>
<outputDirectory>${basedir}/pb-reporting/test-output</outputDirectory>
<!--<skipSurefireReport>true</skipSurefireReport>-->
</configuration>
</plugin> </plugins> </reporting>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<!--<executable>/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64/bin/javac</executable>-->
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
<configuration>
<outputDirectory>${basedir}/pb-reporting/test-output</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin> </plugins> </build>
项目层次结构如下所示:
如有任何帮助,我们将不胜感激,在此先感谢您的努力
根据文档,您必须使用 reportsDirectory 而不是不存在的 outputDirectory
。
在 surefire-reports-plugin 和 maven-site-plugin 中配置输出目录是不够的。解决方案是在构建块内的 maven-surefire-plugin 中也声明 reportsDirectory :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<reportsDirectory>${basedir}/pb-reporting/test-output</reportsDirectory>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
我正在尝试更改由 maven 项目中的 surefire-plugin 生成的 XML 文件的输出文件夹。我在 report-plugin 的配置括号内以及 maven-site-plugin(在 documentation 中提到)中声明了目标输出文件夹。 我还尝试在报告块中声明 maven-site-plugin,但这似乎效果不佳。我的 XML 文件总是被写入默认的 surefire-reports 文件夹。
我的 pom.xml 有以下条目:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<showSuccess>true</showSuccess>
<outputDirectory>${basedir}/pb-reporting/test-output</outputDirectory>
<!--<skipSurefireReport>true</skipSurefireReport>-->
</configuration>
</plugin> </plugins> </reporting>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<!--<executable>/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64/bin/javac</executable>-->
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
<configuration>
<outputDirectory>${basedir}/pb-reporting/test-output</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin> </plugins> </build>
项目层次结构如下所示:
如有任何帮助,我们将不胜感激,在此先感谢您的努力
根据文档,您必须使用 reportsDirectory 而不是不存在的 outputDirectory
。
在 surefire-reports-plugin 和 maven-site-plugin 中配置输出目录是不够的。解决方案是在构建块内的 maven-surefire-plugin 中也声明 reportsDirectory :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<reportsDirectory>${basedir}/pb-reporting/test-output</reportsDirectory>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>