Ubuntu 20.04下Eclipse新建项目构建报错Java Builder十六进制输入"H"异常
构建期间发生错误。在项目'egg'上运行构建器'Java Builder'时出错:在16进制基数下输入字符串"H"无法解析。

报错原因
该错误的核心是Eclipse的Java Builder构建器在解析项目关联的JDK版本号或编译配置参数时,遇到了超出16进制字符范围(0-9、A-F)的非法字符"H",解析失败,常见触发场景如下:
- Eclipse版本过旧,无法兼容系统安装的JDK 17及以上高版本。2021-09之前的Eclipse版本未原生支持JDK 17,旧版本的JDT组件解析高版本JDK的版本号字符串时存在逻辑缺陷,会尝试按16进制解析版本号段,遇到字符"H"直接抛出解析错误
- 项目本地配置文件(
.settings/org.eclipse.jdt.core.prefs、.classpath、.project)被异常修改,编译级别或JDK路径配置中出现了非法字符"H" - Eclipse全局配置的已安装JRE列表中,对应JDK的命名或版本属性包含非法字符
排查解决步骤
1. 验证Eclipse与JDK版本兼容性
- 终端执行命令查询当前系统JDK版本:
java -version - 如果JDK版本为17及以上,确认Eclipse版本是否为2021-09及更高版本:低于该版本的Eclipse需要升级,或者将系统JDK降级为11/8等兼容版本即可解决问题
2. 修正项目本地配置
- 打开项目根目录下的
.settings/org.eclipse.jdt.core.prefs文件,检查以下编译配置项的值是否为合法版本号,无异常字符:
修正错误配置后重启Eclipse,重新构建项目即可org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.compiler.target=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
3. 检查全局JDK配置
- 打开Eclipse的
窗口>偏好设置>Java>已安装的JRE列表,检查每个JDK条目的名称、版本、路径是否正常,删除配置异常的条目后重新添加本地JDK的正确路径 - 进入
窗口>偏好设置>Java>编译器页面,确认全局编译级别为对应JDK的合法版本号,无异常字符
4. 清理缓存重建
如果以上配置均正常,选中项目右键依次执行 清理、刷新 操作,清除已编译的缓存文件后重新构建即可。
内容的提问来源于stack exchange,提问作者Umar Gafia
相关产品推荐
相关产品推荐

