【问题标题】:Remove folder during maven generate-sources or maven install在 maven generate-sources 或 maven install 期间删除文件夹
【发布时间】:2019-01-13 10:58:20
【问题描述】:

我正在尝试在执行generate-sourcesinstall 之前删除文件夹。我已经在clean 期间使用src/main/java 下的文件夹执行此操作,但我也想在不同的时刻尝试,只是因为我确定不可能忘记删除某些文件/文件夹。这是怎么做到的?

【问题讨论】:

  • 当你说 - “我已经在清理过程中这样做了”时,你的意思是清理插件正在删除有问题的文件夹(在目标中),还是其他什么?有很多方法可以做到这一点。在 generate-sources 之前找到一个删除东西并将目标绑定到阶段的插件
  • 不幸的是,不清楚您在谈论哪个目录...此外,target 中的目录通常由 maven-clean-plugin 简单处理,这意味着不需要手动配置...跨度>
  • 现在我正在使用 maven-clean-plugin 删除 src/main/java 下的文件夹和文件。丰富,意思是当我使用 maven clean 时这个插件会去,但我希望它在生成源或安装期间去。也编辑问题

标签: java xml maven pom.xml maven-plugin


【解决方案1】:

请参阅Apache Maven Clean Plugin / Delete Additional Files Not Exposed to Maven 的示例。

  • 根据您的需要调整此处给出的<configuration> 部分并使用:

                        ...
                        <directory>src/main/java</directory>
                        ...
    
  • 添加&lt;executions&gt; 部分,例如:

        ...
        <plugin>
            ...
            <executions>
                <execution>
                    <id>delete-files</id>
                    <!-- 'initialize' is the phase before 'generate-sources'
                          use 'verify' to execute it before 'install' -->
                    <phase>initialize</phase>
                    <goals>
                        <goal>clean</goal>
                    </goals>
                </execution>
            </executions>
            ...
    

结果将是:

...
[INFO] 
[INFO] --- maven-clean-plugin:3.1.0:clean (delete-files) @ so-51708371 ---
[INFO] Deleting ...path to workspace...\so-51708371\target
[INFO] Deleting ...path to workspace...\so-51708371\src\main\java (includes = [**/*.tmp, **/*.log], excludes = [**/important.log, **/another-important.log])
[INFO]
...

【讨论】:

    猜你喜欢
    • 2012-05-29
    • 1970-01-01
    • 2017-01-31
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 2016-11-20
    • 1970-01-01
    相关资源
    最近更新 更多