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

Java17升21后Maven依赖未在MANIFEST.MF插件显示及Hibernate迁移求助

解决方案

1. 修正MANIFEST.MF的依赖与环境配置

Hibernate Jakarta版本的OSGI Bundle符号名与原javax版本不同,同时需要同步Java执行环境版本:

  • 将Bundle-RequiredExecutionEnvironment从JavaSE-17改为JavaSE-21
  • 替换Require-Bundle中的Hibernate依赖条目:
    原配置:
org.hibernate.orm.core;bundle-version="5.6.15"

替换为:

org.hibernate.core.jakarta;bundle-version="5.6.15.Final"

修正后的关键片段:

Bundle-RequiredExecutionEnvironment: JavaSE-21
Require-Bundle: jakarta.persistence-api,
 be.lettergen.jdbc.driver,
 org.apache.servicemix.bundles.c3p0,
 org.hibernate.core.jakarta;bundle-version="5.6.15.Final"

2. 对齐Maven依赖与OSGI版本

确认Maven中hibernate-core-jakarta的版本(5.6.15.Final)与MANIFEST.MF中指定的版本完全一致,同时检查jakarta.persistence-api版本是否适配Hibernate 5.6.x Jakarta分支(推荐2.2.3及以上版本)。

3. 清理并同步Eclipse项目

  • 执行Project -> Clean...,清理项目编译输出
  • 右键项目选择Maven -> Update Project,勾选"Force Update of Snapshots/Releases"
  • 重新加载目标平台:Window -> Preferences -> Plug-in Development -> Target Platform,选中当前平台后点击"Reload"

4. 验证目标平台中的Bundle

若插件仍无法找到,手动检查目标平台是否包含该Bundle:

  • 打开Window -> Show View -> Other... -> Plug-in Development -> Plug-ins
  • 搜索org.hibernate.core.jakarta确认是否存在
  • 若不存在,通过目标平台定义的Add... -> Maven Artifacts方式引入该依赖Bundle

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 22:13:17