使用Maven构建多项目时遭遇文件占用错误,求解决方案
Maven构建文件被进程占用问题的解决方案
问题场景
在Windows环境下使用Maven构建多模块项目时,频繁触发文件被其他进程占用的错误,典型报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:3.2.2:war (default-war) on project projectname-backoffice: Error assembling WAR: Problem creating war: Execution exception (and the archive is probably corrupt but I could not delete it): java.io.FileNotFoundException: C:\projectname-dev\qwe-qwe\projectname\projectname-backoffice\target\projectname-backoffice\WEB-INF\lib\gmbal-api-only-3.1.0-b001.jar (The process cannot access the file because it is being used by another process) -> [Help 1]
已尝试无效操作:
- 重装IntelliJ IDEA
- 更换/重装JDK 1.8.361/1.8.202
- 重启电脑
- 构建前终止所有Java进程
- 问题随机出现于不同Jar包(如jackson-databind 2.0.5),且项目在其他设备可正常构建
可行解决步骤
1. 排查非Java进程的文件锁定
- 打开任务管理器,切换到「详细信息」标签,搜索占用目标Jar包的进程(可能是
explorer.exe或其他后台工具) - 结束对应进程后,执行
mvn clean install重新构建
2. 关闭Maven并行构建
- 若使用了
-T参数开启并行构建,暂时关闭并行,执行单线程构建:
mvn clean install
(如果之前用了-T 2C这类参数,直接移除即可)
3. 清理本地Maven仓库缓存
- 定位到本地Maven仓库路径(默认
C:\Users\[你的用户名]\.m2\repository) - 删除报错Jar包对应的目录(如
com\sun\gmbal\gmbal-api-only\3.1.0-b001) - 重新执行构建命令,让Maven重新下载依赖
4. 禁用IDE自动构建
- 在IntelliJ IDEA中,关闭「Build project automatically」:
路径:File → Settings → Build, Execution, Deployment → Compiler - 构建前先手动执行
mvn clean,确保target目录完全清理
5. 用工具强制释放文件锁
- 使用本地文件解锁工具(如Unlocker),定位到被占用的Jar包,解锁后删除文件,再重新构建
内容的提问来源于stack exchange,提问作者Сергей Сенченко
相关产品推荐
相关产品推荐

