如何在Eclipse插件中使用Java11(Java10)及解决启动报错问题
在Eclipse插件中使用Java 10/11 及启动异常排查方案
如果你在Eclipse插件开发中遇到Java版本配置和启动时的Bundle异常问题,下面是具体的解决步骤:
一、配置Eclipse插件支持Java 10/11
要在插件里用上Java 10或11,得先把基础配置理顺:
- 先确认Eclipse版本:你得用Eclipse 2018-09或者更新的版本,这些版本才对Java 11有完整支持,旧版本可能会出现兼容性问题。
- 调整项目编译环境:
右键插件项目 → Properties → Java Build Path → Libraries,把现有的JRE替换成Java 10/11的JRE;接着切换到Java Compiler页面,勾选「Enable project specific settings」,把编译合规等级设为10或11。 - 设置插件执行环境:
打开项目的MANIFEST.MF,切换到Runtime标签页,在Execution Environments里选JavaSE-10或JavaSE-11作为最小执行环境。同时要保证你的目标平台(Target Platform)里已经包含对应版本的Java执行环境定义。
二、解决启动时的BundleException错误
你遇到的错误有两个核心问题,咱们逐个解决:
1. 未解析osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=10))"
这个问题是因为运行环境没提供OSGi要求的JavaSE 10能力,解决步骤:
- 检查运行配置的JRE:打开Run Configurations,找到你的Eclipse Application配置,切换到JRE标签页,确认选中的是Java 10的JRE,别用低于10的版本。
- 更新目标平台:打开Window → Preferences → Plug-in Development → Target Platform,编辑当前激活的目标平台,添加Java 10的JRE作为Installation组件,保存后重新激活目标平台,确保它能提供JavaSE-10的执行环境能力。
2. 依赖的org.treez.javafxd3插件无法解析
这个错误说明你的运行环境找不到这个依赖包,或者包本身有问题:
- 确认依赖包在目标平台中:检查目标平台是否包含
org.treez.javafxd3插件,版本要匹配1.0.0.qualifier。如果是你自己开发的插件,要确保它的MANIFEST.MF也正确配置了JavaSE-10的执行环境,不然它自己也会因为环境不兼容无法被解析。 - 检查运行配置的插件列表:在Run Configurations的Plug-ins标签页,搜索
org.treez.javafxd3,确保它被勾选,且状态是Resolved。如果找不到,要么把这个插件项目加到当前工作区,要么把它的jar包添加到目标平台里。
内容的提问来源于stack exchange,提问作者Stefan
相关产品推荐
相关产品推荐

