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

Maven compile阶段删除process-resources复制的资源文件问题咨询

Maven资源文件执行compile后丢失的解决方案

1. 检查Maven版本与Compiler插件

  • 执行mvn -v查看当前Maven版本,部分旧版本的maven-compiler-plugin在compile阶段会错误清理target/classes目录,且未自动触发资源复制。
  • 显式指定插件的最新稳定版本,避免默认旧版本的问题,在pom.xml中添加:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.11.0</version>
    </plugin>
  </plugins>
</build>

2. 确认资源目录结构

  • Maven默认的资源目录是src/main/resources,如果你的资源放在src/resources而非src/main/resources,需要手动配置资源路径:
<build>
  <resources>
    <resource>
      <directory>src/resources</directory>
    </resource>
  </resources>
</build>

3. 修正命令执行逻辑

  • 正常情况下mvn clean compile会自动先执行process-resources阶段(compile依赖该阶段),若环境中依赖关系异常,直接执行mvn clean process-resources compile,确保资源先被复制到target/classes再执行编译。

4. 清理插件缓存

  • 删除本地Maven仓库中compiler插件的缓存目录~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin,重新执行命令让Maven重新下载插件,排除缓存损坏导致的异常。

内容的提问来源于stack exchange,提问作者Ahmet Sevki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:24:51