JRE System Library显示Missing时,应右键项目→Properties→Java Build Path→Libraries→Remove失效项→Add Library→选Workspace default JRE或指定真实JDK路径。
这是最常见红X根源:项目引用的JRE路径已失效,比如重装JDK、迁移工作空间或MyEclipse自带JRE被清理后残留无效引用。
直接操作步骤:
Properties → Java Build Path → Libraries 标签页JRE System Library,若状态为 Missing 或版本号标红,选中它点 Remove
Add Library… → 选 JRE System Library → Next
Workspace default JRE(推荐)或手动指定你系统中真实存在的JDK路径,比如 C:Program FilesJavajdk-17.0.2
注意:不要选 Execution Environment,它依赖MyEclipse内置映射表,容易和实际JDK脱节;Workspace default JRE 指向的是MyEclipse Preferences → Java → Installed JREs 里已注册且可用的JRE。
红叉表示该JAR在磁盘上已丢失,但 .classpath 文件仍保留引用 —— 常见于复制项目未同步lib目录、SVN忽略jar、或手动删了jar却没清理配置。
别猜路径,直接定位修复:
Libraries 标签页中,逐行查看每个JAR条目图标:红叉即失效,黄色感叹号是路径存在但校验失败(如签名不匹配)Remove
Add External JARs…,导航到你项目真实的 WEB-INF/lib 或 lib/ 目录下选对应JARMaven → Update Project
关键细节:MyEclipse不会自动扫描 lib/ 目录,所有JAR必须显式添加进Build Path,否则编译期找不到类,运行时也可能抛 NoClassDefFoundError。
MyEclipse对Maven支持较老,常因缓存或坐标解析失败导致Build Path不更新,即使pom.xml语法正确,也会残留红X。
强制刷新三步:
Maven → Update Project…
Force Update of Snapshots/Releases
OK 后紧盯 Console 视图:若出现 Could not resolve dependencies,说明本地仓库缺包,需在终端进项目根目录执行 mvn clean compile -U
额外检查点:Project Facets 中的 Java 版本必须与pom.xml里 maven-compiler-plugin 的 source/target 一致,否则MyEclipse会叠加报错,例如pom设为17但Facet仍是1.8。
Web项目尤其典型:Facets定义运行契约,一旦 Java facet版本低于JRE或高于Tomcat支持范围,整个Build Path会标红,且错误提示可能藏在 Problems 视图里,不直接显示在项目图标上。
快速校准方法:
Properties → Project Facets
Java 版本与你刚配好的JRE一致(如JRE是17,则Facet选 17)Dynamic Web Module 版本需匹配目标容器:Tomcat 9 对应 4.0,Tomcat 10 对应 5.0(注意Servlet API包名变更)Further configuration available 后点 Further configuration,核对 Content directory 是否指向 src/main/webapp(Maven结构)或 WebRoot(传统结构)最容易被忽略的是:修改Facets后必须点 Apply and Close,然后右键项目 → Refresh(F5),MyEclipse不会自动重载Facets变更。