使用 CDI 和 JPA 将 Web 项目转换为 EJB 项目

Convert a web project to EJB Project with CDI and JPA

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

引入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 都支持您正确创建它们。

至于"splitting into layers",如果不是绝对必要,我不建议您引入separate JAR files,甚至不建议您创建EAR。如果多个项目将使用相同的 bean 或业务逻辑,那么这将是必要的。如果您分离到不同的项目,尤其是通过使用库,时间往返时间将显着增加。如果您更改库中的代码,您将需要使用 Maven 和重新部署(> 40 秒)重建您的包,而不是等待 15 秒自动重新部署。

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

找到解决方案。现在使用 Maven archetype 生成多模块项目。