【问题标题】:Is it possible to have Web & JPA & EJB in 1 project in Eclipse?是否可以在 Eclipse 的 1 个项目中包含 Web、JPA 和 EJB?
【发布时间】:2015-08-27 19:55:52
【问题描述】:

我刚刚完成了一个在 NetBeans 中完成的教程。本教程仅创建了 1 个项目,它是 Java Web 类别下的 Web 应用程序项目。本教程有 1 个使用 JPA 注释的实体、1 个使用 JPA 注释的无状态会话 EJB、1 个调用 EJB 的 Servlet 和 1 个调用 Servlet 的 JSP。所以基本上这 1 个项目包含所有 3 个项目:Web & JPA & EJB。

我如何在 Eclipse 中拥有这样的项目?

当我在 Eclipse 上工作时,我对使用 JPA 和 EJB 的 Web 应用程序需要多少项目感到困惑。
我应该为 Web & JPA & EJB 分别创建 3 个项目 1 吗?或
我应该为 Web 和 EJB 分别创建 2 个项目 1 并在两者中都包含 JPA 吗?

【问题讨论】:

  • 您究竟是如何只创建一个 Web 项目失败的?
  • @BalusC 创建动态 Web 项目时,在 Project Facets 中 EJB 不可用;只有 JPA 可用。
  • 啊哈,你就停在那里没有尝试吗? :)

标签: eclipse jpa netbeans web ejb


【解决方案1】:

只需使用最低版本 3.0 立即创建“动态 Web 项目”。

从 Java EE 6(“Web Profile”)开始,您确实不需要为 EJB 创建单独的项目。然后,您可以在 WAR 中使用 EJB API 的子集,也称为“EJB Lite”。然后,您可以轻松地创建一个仅使用状态注释(Stateless@Stateful@Singleton)的无接口 EJB 类,并且您已经完成了。

对于“动态 Web 项目”,您不需要 EJB 方面。 EJB Lite 基本上已经被“Dynamic Web Project”所涵盖。无论如何,EJB 并不需要太多的 IDE 魔法(向导、代码生成器等)。您只需确保将版本设置为最低 3.0(来自 Servlet 3.0;Java EE 6 的一部分),并将目标运行时设置为真正的 Java EE 应用程序服务器(即使它只是“Web Profile "),例如 WildFlyTomEEGlassFishLiberty 等,因此不是像 Tomcat 或 Jetty 这样的准系统 servlet 容器。这样,EJB 注释将在项目中随时可用。

您甚至不一定需要启用 JPA 方面。您只会错过项目选项下与 JPA 相关的向导和代码生成器。但是您可以自己编写所有与 JPA 相关的代码,并且仍然可以部署它。毕竟,IDE 就像记事本一样,但具有数百万种功能,试图让您在编写代码时更加舒适。项目方面基本上启用/禁用可用的项目选项/向导/代码生成器。

【讨论】:

    猜你喜欢
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2015-08-17
    • 2020-11-25
    • 1970-01-01
    • 2011-09-15
    相关资源
    最近更新 更多