You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Maven插件删除target文件并替换自定义Swagger CSS?

问题解答

1. Maven项目中能否删除target文件夹内的文件?

完全可以,最常用的方案是使用maven-clean-plugin——它默认会清理整个target目录,也可通过配置指定仅删除特定文件/目录:

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>3.3.2</version>
    <configuration>
        <!-- 可选:精准删除target下指定路径的旧CSS文件 -->
        <filesets>
            <fileset>
                <directory>target/${project.artifactId}-${project.version}/css</directory>
                <includes>
                    <include>main.css</include>
                </includes>
            </fileset>
        </filesets>
    </configuration>
</plugin>

执行mvn clean即可触发清理,也可将clean阶段绑定到资源复制阶段之前,确保先删除旧文件再复制新文件。

2. maven-resources-plugin复制CSS无法覆盖原有文件的解决办法

你的配置存在两个核心问题:未开启覆盖机制,以及执行阶段时机可能早于Swagger生成CSS的阶段(导致自定义CSS被Swagger的默认文件覆盖)。

修改后的配置如下,添加覆盖开关并调整执行阶段:

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.3.0</version>
    <executions>
        <execution>
            <id>copy-custom-swagger-css</id>
            <phase>process-resources</phase> <!-- 调整阶段,确保在Swagger生成CSS后执行 -->
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>target/${project.artifactId}-${project.version}/css</outputDirectory>
                <overwrite>true</overwrite> <!-- 关键配置:开启文件覆盖 -->
                <resources>
                    <resource>
                        <directory>src/main/resources</directory>
                        <includes>
                            <include>main.css</include>
                        </includes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

额外保障方案

可以结合maven-clean-plugin先清理旧文件,再执行复制:

  1. 执行mvn clean删除目标路径下的旧main.css
  2. 执行mvn resources:copy-resources(或直接mvn package,若复制阶段已绑定到打包流程)

补充建议

  • 可通过mvn help:describe -Dplugin=swagger-maven-plugin -Ddetail查看Swagger插件的执行阶段,确保自定义CSS的复制阶段在它之后运行
  • 若仍有问题,可检查target目录下CSS文件的生成时间,确认自定义文件是否在默认文件之后写入

内容的提问来源于stack exchange,提问作者Albert Albatros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:55:24