Eclipse 4.7.3a搭配Java 10启动报错:无法找到或加载主类
问题排查:Eclipse中无法找到主类但命令行运行正常
先梳理下你的环境和问题:
- 系统:Windows 10 Pro
- Eclipse版本:
Eclipse Java EE IDE for Web Developers. Version: Oxygen.3a Release (4.7.3a) Build id: 20180405-1200 - Java版本:
java version "10.0.1" 2018-04-17 Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
- 测试代码:
package questions; public class TestMain { public static void main(String[] args) { System.out.println("test"); } }
- 问题:命令行在
test\bin目录执行java questions.TestMain正常,但Eclipse中指定JVM路径为C:\Program Files\Java\jre-10.0.1\javaw.exe运行时,报错:
Error: Could not find or load main class questions.TestMain Caused by: java.lang.ClassNotFoundException: questions.TestMain
可能的解决方案,按优先级尝试:
1. 检查项目的构建路径与输出目录
右键你的项目 → 「Build Path」→ 「Configure Build Path」:
- Source标签页:确认
src目录被标记为「Source Folder」,且「Output folder」设置为bin(和你命令行运行的目录一致)。如果输出目录不对,Eclipse编译后的class文件会放到其他位置,自然找不到主类。 - Libraries标签页:确保添加的是JDK 10.0.1而非仅JRE。虽然你指定了JRE运行路径,但Eclipse编译需要JDK的工具链,仅用JRE可能导致编译不完整。
2. 修正运行配置的工作目录与JRE设置
右键TestMain.java → 「Run As」→ 「Run Configurations」:
- 在「Java Application」下找到你的运行配置,切换到Arguments标签页:确认「Working directory」是项目根目录(也就是包含
bin文件夹的目录,默认应该是${workspace_loc:/你的项目名})。如果工作目录错了,JVM会在错误的路径下找class文件。 - 切换到JRE标签页:尝试勾选「Use the project's JRE」,而不是手动指定
javaw.exe路径。手动指定时可能误选了不匹配的JRE,或者路径配置有误。
3. 清理并重建项目
Eclipse有时候会缓存编译文件导致异常:
- 菜单栏点击「Project」→ 「Clean...」,选择你的项目后点击「Clean」
- 右键项目 → 「Build Project」,等待编译完成后再尝试运行
4. 安装Java 10对Eclipse Oxygen的支持插件
Eclipse Oxygen.3a默认对Java 10的支持并不完善,需要安装官方补丁:
- 打开Eclipse的「Help」→ 「Eclipse Marketplace」
- 搜索「Java 10 Support for Oxygen」,安装对应的插件后重启Eclipse,再测试运行
内容的提问来源于stack exchange,提问作者EclipseS
相关产品推荐
相关产品推荐

