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

在Eclipse 2019-12中运行Java 17项目时遇多类异常问题

问题详情

1. VM初始化阶段报错

运行开源项目时出现VM初始化异常,报错信息如下:

Error occurred during initialization of VM
java.lang.Error: ghidra.GhidraClassLoader
    at java.lang.ClassLoader.initSystemClassLoader(java.base@17.0.6/ClassLoader.java:1995)
    at java.lang.System.initPhase3(java.base@17.0.6/System.java:2246)
Caused by: java.lang.ClassNotFoundException: ghidra.GhidraClassLoader
    at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@17.0.6/BuiltinClassLoader.java:641)
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@17.0.6/ClassLoaders.java:188)
    at java.lang.ClassLoader.loadClass(java.base@17.0.6/ClassLoader.java:520)
    at java.lang.Class.forName0(java.base@17.0.6/Native Method)
    at java.lang.Class.forName(java.base@17.0.6/Class.java:467)
    at java.lang.ClassLoader.initSystemClassLoader(java.base@17.0.6/ClassLoader.java:1981)
    at java.lang.System.initPhase3(java.base@17.0.6/System.java:2246)

2. Eclipse依赖解析错误

命令行构建成功,但Eclipse中所有子项目出现依赖解析错误,例如The import java.awt cannot be resolved(针对import java.awt.AWTError;),所有Java库导入及类名均报错,项目显示感叹号标记。

环境信息

  • Eclipse版本:2019-12
  • 项目要求:Java 17、Gradle 7.3+
  • 已安装环境:Java 17、Gradle 7.5

已尝试操作

通过命令行执行以下Gradle命令可成功构建:

gradle -I gradle/support/fetchDependencies.gradle init
gradle prepdev eclipse buildNatives

解决方案

针对VM初始化报错

  • 检查是否存在java.system.class.loader的JVM启动参数,若该参数被误设置为ghidra.GhidraClassLoader,会导致系统类加载器初始化时找不到对应类,需移除或修正该参数
  • 确认项目启动脚本或运行配置中,是否错误指定了系统类加载器,若确实需要自定义类加载器,确保类路径中包含ghidra.GhidraClassLoader所在的jar包

针对Eclipse依赖问题

  1. 升级Eclipse版本:Eclipse 2019-12发布于Java 17之前,对Java 17的支持不完善,建议升级到2021-09及以后的版本,这些版本原生支持Java 17
  2. 配置Java 17作为项目JRE:
    • 打开Window > Preferences > Java > Installed JREs,点击Add添加Java 17的JDK路径,设置为默认JRE
    • 右键项目选择Properties > Java Build Path > Libraries,移除旧的JRE系统库,添加Java 17的JRE系统库
    • 进入Properties > Java Compiler,将Compiler compliance level设置为17,勾选Use compliance from execution environment on the 'Java Build Path'
  3. 重新生成Eclipse配置:
    • 命令行执行gradle cleanEclipse eclipse,清理并重新生成Eclipse项目配置文件
    • 在Eclipse中右键项目,选择Gradle > Refresh Gradle Project,同步Gradle配置
  4. 验证classpath配置:检查项目的.classpath文件,确保包含Java 17标准库的引用,例如<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 23:03:24