用Project Clean清理MyEclipse项目缓存解决编译不生效
时间:2026-06-30 | 作者:怪兽小助手 | 阅读:0Project Clean 是 MyEclipse 里一个让人又爱又恨的功能。
- 爱它,因为它经常能救场:明明改了代码,重启 Tomcat 就是没反应。点一下 Project → Clean…,再勾上 “Build automatically”,问题就消失了。
- 恨它,是因为它有时完全失灵。特别是碰到 Ma ven 项目的时候,你清十遍也没用。
但不管怎么说,它是排查“改代码不生效”这类玄学问题的第一道必检关卡。它不会帮你修语法错误,也不会自动修复路径配置。但它能强制清掉旧的 .class、.jsp、.ftl 等编译产物,让 MyEclipse 从头触发一次自动编译——前提是你的构建环境本身没毛病。
Project → Clean… 实际做了什么?
说白了,它就是把项目输出目录(比如 WEB-INF/classes)下的所有编译结果删个干净。同时把 Eclipse/MyEclipse 内部的构建状态重置一遍。
注意:它不清工作区缓存,不碰 .metadata,更不会动源码和配置文件。
几个关键点:
- 只影响当前选中项目下
bin或自定义 output folder 里的内容,其他项目不动。 - 它不会自动触发重新编译——除非你同时在对话框里勾选了
Build automatically,否则清完还是一堆空目录。 - 对 Ma ven 项目效果非常有限,因为 Ma ven 的
target/目录压根不受这个 IDE 原生 builder 控制。 - 有个小技巧:如果
Problems视图里出现红叉但查不出具体错误,Clean 后红叉可能直接消失——这往往是旧的编译残留导致的误报,清一下就正常了。
Ma ven 项目 Clean 失效时怎么办?
既然 Project Clean 对 Ma ven 项目基本没用,那遇到 Ma ven 项目时就得换套打法。记住,Ma ven 的构建逻辑由插件控制,IDE 原生 builder 管不到它。
- 右键项目 →
Run As→Ma ven clean,这条命令才是真正清掉target/目录的。但清完别停,接下来必须执行一次Ma ven build(比如clean compile)或者Ma ven Update Project,否则 class 文件不会自己回来。 - 如果做完上述操作,项目还是报找不到类或资源文件,那多半是
pom.xml里的resources配置漏了——某些.properties或.xml没被复制进target/classes。检查一下 resources 块里的includes和excludes。 - 还有一个容易被忽视的问题:老版本 MyEclipse 内置的 Ma ven(比如 3.0.x)本身就有不少 bug。建议升级到最新版本,或者换用外部 Ma ven:
Window → Preferences → Ma ven → Installations,添加你本地安装的 Ma ven 目录。
Clean 之后还是不生效?重点查这三处
别急着删工作区或者重装 IDE,90% 的“Clean 无效”都卡在下面几个地方:
1. Java Build Path 中的 output folder 指向
打开 Project → Properties → Java Build Path → Source,确认 Default output folder 的路径是否正确(比如 Web 项目通常应该是 WebRoot/WEB-INF/classes)。还要确认这个目录没有被其他程序锁住——有时候 Total Commander、IDEA 甚至杀毒软件会占用目录句柄,导致 IDE 写不进去。
2. Libraries 中的依赖是否完整
切到 Libraries 标签页,看看有没有带红叉的 JAR。手动删过依赖但没有刷新,或者 JRE System Library 版本不匹配(比如项目用 JDK 17,但配置里指的是 JDK 8),都会导致编译失败。
3. Tomcat 的部署缓存
一定要记住:Project Clean 只清 IDE 的编译结果,它不会动 Tomcat 的 webapps/yourapp 和 work/Catalina/localhost/yourapp 这两个目录。所以手动删掉它们,再重新发布应用,往往立竿见影。
还有一个最容易被忽略的坑:你明明改了 Java 类,但调用它的 JSP 或 Servlet 所在的编译输出路径没有同步更新;或者前端 AJAX 请求默认开启了 cache: true——这时候你清十次 Project Clean 也没用。解决方案很简单:在 $.ajax() 里加上 cache: false,或者在请求 URL 后面随手加个时间戳参数,比如 t= + 随机数。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Eclipse怎么新建Java项目
- 时间:2026-10-20
-
- MyEclipse高效编码技巧:自动补全、语法高亮与智能提示
- 时间:2026-09-01
-
- MyEclipse配置Tomcat实现Web项目自动部署及端口修改
- 时间:2026-08-21
-
- MyEclipse安装后许可证激活方法与步骤
- 时间:2026-08-21
-
- MyEclipse 2026下载安装教程及常见问题指南
- 时间:2026-08-20
-
- 手把手教你安装MyEclipse6.5并快速配置开发环境步骤
- 时间:2026-07-26
-
- MyEclipse快捷键大全中Ctrl+Shift+F格式化实用高效使用方法详解
- 时间:2026-07-26
-
- MyEclipse安装配置与JDK环境变量设置及激活教程
- 时间:2026-07-25
精选合集
更多大家都在玩
大家都在看
更多-
- 蚂蚁新村小课堂今日答案10月23日 江苏溧阳的跳幡神是一种
- 时间:2026-10-23
-
- 蚂蚁新村2026年10月23日答案最新
- 时间:2026-10-23
-
- 蚂蚁庄园答案2026年10月24日
- 时间:2026-10-23
-
- 蚂蚁庄园今天答题答案2026年10月24日
- 时间:2026-10-23
-
- 蚂蚁庄园今日答案2026年10月24日
- 时间:2026-10-23
-
- 秦始皇陵地宫至今未发掘,主要原因是 蚂蚁庄园今日答案10.24
- 时间:2026-10-23
-
- 小鸡答题今天的答案是什么2026年10月24日
- 时间:2026-10-23
-
- 蚂蚁庄园每日答题答案2026年10月24日
- 时间:2026-10-23