Eclipse构建Java Card项目出现javax/xml/bind/JAXBException错误求助
解决方案:
1. 核查Java Card Builder的JDK关联
- 右键项目
HelloWorld→ 属性 → Java Card → Platform,确认选中的Java Card SDK绑定的JDK是jdk1.7.0_80,别用Eclipse默认的JRE或其他版本。 - 进入运行/调试设置,找到Java Card相关的构建配置,确保其使用的JRE是
jdk1.7.0_80(优先选JDK自带的JRE)。
2. 补充完整兼容的JAXB依赖
JDK1.7本身内置JAXB,但新版本Eclipse的类路径隔离可能导致Builder找不到实现类。别只加API包,要凑齐完整实现:
- 下载
jaxb-impl-2.2.11.jar、jaxb-core-2.2.11.jar和jaxb-api-2.2.11.jar(用和JDK1.7兼容的低版本,别用2.3.0,会不兼容)。 - 右键项目 → 构建路径 → 添加外部归档,把这三个jar加入。
- 到构建路径 → 订单和导出里,把这几个JAXB的jar挪到最前面,让Builder优先加载。
3. 统一编译器合规性设置
- 项目属性 → Java编译器,把编译器合规性级别设为
1.7,勾选使用执行环境的合规性并选择JavaSE-1.7(关联jdk1.7.0_80)。 - 再去Eclipse偏好设置 → Java → 编译器,把全局合规性也改成1.7,避免项目继承高版本设置。
4. 绕开Builder兼容性问题(上述无效时)
新版本Eclipse(4.30)和旧版Oracle Java Card SDK Builder可能存在兼容bug:
- 右键项目 → 属性 → 构建器,取消勾选
Oracle Java Card SDK Builder,改用Java Card SDK的命令行工具手动构建:converter -classpath <你的项目类路径> -out CAP <包名> <主类名> - 或者找适配Eclipse 4.30的Java Card插件版本,替换当前旧插件。
5. 清理重建项目
- 点项目 → 清理,选
HelloWorld项目清理,之后右键项目 → 刷新,再重新构建。
内容的提问来源于stack exchange,提问作者Andras Talas
相关产品推荐
相关产品推荐

