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

Eclipse 2023-09 EE版无法设置JPA及EJB Facet版本咨询

在Eclipse中创建Jakarta EE 10 EJB项目(适配JPA 3.1、EJB 4.0与Java 21)

核心问题原因

Eclipse默认的旧版EJB项目向导基于Java EE(而非Jakarta EE)规范,无法识别Jakarta EE 10的新组件版本,即使Maven依赖配置正确,也无法通过项目切面选择更高版本。

解决方案步骤

1. 确保Eclipse版本兼容

必须使用Eclipse 2023-03或更高版本,旧版本不支持Jakarta EE 10的项目配置。

2. 安装Jakarta EE开发工具

若Eclipse未自带Jakarta EE支持:

  • 打开Help > Eclipse Marketplace
  • 搜索并安装Eclipse Enterprise Java and Web Developers套件,或直接搜索Jakarta EE Platform插件

3. 新建Jakarta EE 10 EJB项目

  • 依次点击File > New > Project...
  • 在弹窗中选择Jakarta EE > Jakarta EE EJB Project(注意不是旧的EJB Project选项)
  • 输入项目名称后点击Next,在Target runtime中选择支持Jakarta EE 10的服务器(如WildFly 27+、GlassFish 7+、Payara 6+),无可用服务器可选择None(后续用Maven管理依赖)
  • 在Jakarta EE Version下拉菜单中选择Jakarta EE 10,此时即可勾选EJB 4.0和JPA 3.1组件
  • 若选择Maven管理项目,确认pom.xml中自动生成的依赖为Jakarta EE 10规范:
    <dependencies>
        <dependency>
            <groupId>jakarta.platform</groupId>
            <artifactId>jakarta.jakartaee-api</artifactId>
            <version>10.0.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    
  • 完成向导,项目创建后即可正常开发EJB和JPA组件

4. 修复现有EJB项目(无需新建)

如果要保留现有项目,按以下步骤调整:

  • 打开项目的pom.xml,替换所有旧Java EE依赖为Jakarta EE 10依赖(如上述jakarta.jakartaee-api)
  • 右键项目 > Properties > Project Facets
  • 先取消勾选旧版的EJB、JPA切面,点击**Change...**按钮,选择Jakarta EE 10作为目标运行时
  • 重新勾选EJB 4.0和JPA 3.1切面,点击Apply and Close保存配置

5. 服务器兼容性注意事项

Java 21需配合支持Jakarta EE 10的服务器版本:

  • WildFly 28+
  • GlassFish 7.0.10+
  • Payara 6+

内容的提问来源于stack exchange,提问作者Thomas P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:23:14