Maven 万无一失。将时间戳添加到包含报告的文件夹

Maven surefire. Adding timestamp to folder with reports

我敢肯定这样的问题已经在互联网上的某个地方,但我找不到..

我使用 maven-surefire-plugin。 它会生成包含报告的 surefire-reports 文件夹。 我想为每个 运行 设置不同的文件夹。 我正在尝试在报告名称中添加时间戳,如下所示:

Pom 部分:

<properties>
    <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>

<build>
    <resources>
        <resource>
            <directory>src/test/resources</directory>
        </resource>
    </resources>
    <sourceDirectory>src/main/java</sourceDirectory>

    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <reportsDirectory>${project.build.directory}_${timestamp}</reportsDirectory>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

但在这种情况下,我根本没有 surefire-reports 文件夹。 某处是一个错误,但我不知道在哪里。 有人可以给我一些线索吗?

该日期格式不是有效的目录名称(尤其是 : 字符),可能类似于 yyyy-MM-dd_HH-mm?我也会去目标文件夹:

<properties>
    <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyy-MM-dd_HH-mm</maven.build.timestamp.format>
    <sureFireDir>${project.basedir}/target/${timestamp}</sureFireDir>
</properties>

...

<reportsDirectory>${sureFireDir}</reportsDirectory>