如何删除通常的maven清洁阶段之外的项目文件夹

时间:2017-09-13 04:20:38

标签: java maven build automation

这可能听起来有点不对,但这就是我想要的;

我有一个在我的目标目录中生成文件的项目(所以每个平均项目都是如此)。我已经使用下面的方法将maven clean配置为在每个构建中执行。

<build>
    <plugins>
        <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>auto-clean</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>clean</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    <plugins>
<build>

我还有一些目标以外的其他文件夹(我故意选择)存储日志和测试报告。这些我不希望在每次运行中都清理,因为我希望它们在一段时间内引用。

该项目大致如下所示。

Project
|--src/main/java
|--src/test/java
|--target
|--logs*
+--reports*

此处的日志和报告是我希望阻止在每次运行中删除的文件夹。 我能够管理报告和日志文件夹在每次运行中都没有被删除的部分。 (非常简单,不要提及构建中的两个文件夹)

但是,我还需要一个maven命令,偶尔删除这两个特殊文件夹。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您可以考虑添加 profile ,在其中设置不同的clean流程:

<profiles>
  <profile>
  <id>cleanLogs</id>

  <build>...</build>

  </profile>
</profiles>

使用mvn clean -PcleanLog调用它会调用该特定的构建过程 另请参阅this tutorial on maven profiles