Eclipse RCP项目升级至Java 21后Maven构建报JavaSE-21环境未知错误
解决Eclipse RCP项目升级Java 21后Maven构建报“Unknown OSGi execution environment: 'JavaSE-21'”的问题
针对你遇到的本地Eclipse可正常编译启动,但Maven/Tycho构建报错的情况,以下是遗漏的关键迁移步骤:
补充Target Platform的JavaSE-21执行环境定义
Eclipse 2023-12默认Target Platform未包含JavaSE-21的OSGi执行环境定义,需要手动添加:- 打开
Window > Preferences > Plug-in Development > Target Platform - 选中当前使用的Target Platform,点击
Edit - 在
Locations标签页,点击Add > Installation,选择你的Java 21 JDK安装路径,勾选“Add bundles from the selected location”后完成 - 保存更新后的Target Platform,确保Maven构建使用该配置
- 打开
明确配置Tycho的执行环境
在父pom.xml的<properties>节点中添加Tycho支持的执行环境声明:<tycho.execution.environments>JavaSE-21,JavaSE-17</tycho.execution.environments>同时确认target-platform.target文件已同步更新为包含JavaSE-21定义的版本
验证Maven运行的JDK版本
本地执行mvn -v确认输出的Java版本为21,避免Maven默认使用旧JDK;CI/CD环境也要确保构建代理配置了Java 21 JDK升级Target Platform中的Eclipse平台组件
Eclipse 2023-12对Java 21的支持有限,需将Target Platform中的Eclipse平台插件升级到2024-03及以上版本:- 修改target-platform.target文件中的Eclipse更新站点URL为对应新版本的站点
- 重新加载Target Platform,确保所有依赖的Eclipse插件都更新到支持Java 21的版本
全局校验Bundle执行环境配置
用Eclipse全局搜索Bundle-RequiredExecutionEnvironment,确认所有MANIFEST.MF文件都统一设置为JavaSE-21,无遗漏的旧配置
内容的提问来源于stack exchange,提问作者uminder
相关产品推荐
相关产品推荐

