【问题标题】:Convert a web project to EJB Project with CDI and JPA使用 CDI 和 JPA 将 Web 项目转换为 EJB 项目
【发布时间】:2015-08-17 03:52:17
【问题描述】:

如何使用 CDI 和 JPA 将 Web 项目转换为 EJB 项目 谢谢。

【问题讨论】:

  • 添加 JPA 的第一部分,CDI 已经完成。我只是想知道如何组织,如第二句所述。

标签: maven jakarta-ee jpa ejb


【解决方案1】:

找到了解决办法。现在使用 Maven 原型生成一个多模块项目。

【讨论】:

    【解决方案2】:

    引入 JPA、EJB 和 CDI 没问题。确保检查您是否拥有正确的 Maven 依赖项 javaee-web-api 甚至 javaee-api

        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    

    然后您必须添加 CDI (beans.xml) 和 JPA (persistence.xml) 的配置文件。所有常见的 IDE 都支持您正确创建它们。

    至于“分层”我不建议你引入separate JAR files,如果不是绝对必要的话,甚至创建一个EAR。如果多个项目将使用相同的 bean 或业务逻辑,这将是必要的。如果你分离到不同的项目,特别是使用库,时间往返时间会显着增加。如果您更改库中的代码,您将需要使用 maven 和重新部署(> 40 秒)重建您的包,而不是等待 15 秒自动重新部署。

    如果您愿意,您可以使用包来组织您的层,但实际上您的命名约定和注释@Entity、@Stateless、@WebServlet 应该已经标识了您的不同层。

    【讨论】:

    • 感谢您的回复。 “如果多个项目将使用相同的 bean 或业务逻辑,这将是必要的”。是的..这就是我们最终想要实现的目标。
    • 好的,那是有道理的。这是一篇较早的文章,可帮助您开始使用 WAR,其中包含一个小示例:adam-bien.com/roller/abien/entry/java_ee_6_ejb_31 Netbeans 有一个不错的 Maven 默认 EAR 模板,您可以将其用作参考
    猜你喜欢
    • 2014-09-19
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多