【问题标题】:Change output directory of maven surefire-plugin更改 maven surefire-plugin 的输出目录
【发布时间】:2019-01-06 17:30:02
【问题描述】:

我正在尝试更改由 maven 项目中的 surefire-plugin 生成的 XML 文件的输出文件夹。我在报告插件的配置括号内以及在 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>

项目层次结构如下所示:

任何帮助将不胜感激,并提前感谢您的努力

【问题讨论】:

    标签: eclipse reporting maven-surefire-plugin


    【解决方案1】:

    在 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>
    

    【讨论】:

      【解决方案2】:

      根据文档,您必须使用reportsDirectory 而不是不存在的outputDirectory

      【讨论】:

      • 不起作用。报告仍会写入默认目录
      • 我发现如果您在执行下编写配置而不明确指定阶段/目标,它会忽略该属性。线索是您的 IDE 解析属性中的占位符
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 2016-03-05
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      相关资源
      最近更新 更多