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

IntelliJ IDEA配置Java10后构建运行报错,是否为Bug?

解决IntelliJ IDEA + Java 10的构建/运行问题

先说说你碰到的 Error: Could not find or load main class 搭配 ClassNotFoundException 的错误——这个大概率不是IDE的Bug,90%以上的情况都是运行配置或者编译输出环节出了问题,咱们一步步排查:

  • 检查运行配置的主类指定:
    打开 Run -> Edit Configurations,找到你用来运行的Application配置,确认Main class字段选的是你要启动的类,而且是全限定类名(比如 com.yourpackage.YourMainClass)。如果是手动输入的,仔细检查拼写,别漏了包名或者写错类名。

  • 验证模块编译输出路径:
    去 File -> Project Structure -> Modules,选中你的模块切换到Paths标签,看看Output directory和Test output directory是不是有效路径,有没有读写权限。如果路径不存在或者IDE没权限写入,编译后的class文件就生成不了,自然找不到主类。

  • 全量重建项目:
    试试 Build -> Rebuild Project,有时候增量编译会残留旧缓存或者漏掉某些文件,全量重建能清空缓存重新编译所有代码,很多奇怪的小问题都能这么解决。

再说说你怀疑的JDK配置问题——模块里指定了JDK10但还是有问题,这基本不是Bug,核心要确保所有层级的JDK配置统一:

  • 项目全局JDK检查:
    打开 File -> Project Structure -> Project,确认Project SDK选的是JDK10,同时Project language level要设为Java 10(别选成更高或者更低的版本)。模块的JDK配置会继承项目全局,但如果全局配置不对,模块设置也白搭。

  • 运行配置的JRE指定:
    回到Edit Configurations,每个运行配置的JRE字段要选Project SDK(也就是你配置的JDK10),别不小心选成了其他版本的JRE,这会导致运行时环境和编译环境不匹配。

  • 编译器字节码版本设置:
    去 File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler,检查Per-module bytecode version里你的模块是不是设为10,Target bytecode version也要对应Java10,不然编译出来的字节码和运行环境不兼容也会出问题。

最后关于文档的吐槽我完全懂——JetBrains的文档对旧版本Java的细节确实不够友好,尤其是Java10这种非LTS版本,文档更新优先级不高。不过这类配置问题,核心都是确保项目、模块、运行配置、编译器这几个环节的JDK版本完全一致,把这些地方都核对一遍,99%的问题都能解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:58:57