我刚刚完成了一个用 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 个项目,每个项目一个?或
我是否应该为 Web 和 EJB 创建 2 个项目,并在这两个项目中都包含 JPA?
只需立即创建最低版本为 3.0 的"动态 Web 项目"。
从Java EE 6("Web Profile")开始,您确实不需要为EJB创建单独的项目。然后,您可以在 WAR 中使用 EJB API 的子集,也称为"EJB Lite"。然后,你可以很容易地创建一个只有一个无接口的EJB类,只有一个状态注释(Stateless
、@Stateful
或@Singleton
),你就已经在那里了。
您不需要"动态 Web 项目"的 EJB 方面。EJB Lite基本上已经被"动态Web项目"所覆盖。无论如何,EJB 不需要太多的 IDE 魔法(向导、代码生成器等)。您只需要确保版本设置为最低 3.0(来自 Servlet 3.0;Java EE 6 的一部分),并且将目标运行时设置为真正的 Java EE 应用程序服务器(即使它只是"Web Profile"),例如 WildFly、TomEE、GlassFish、Liberty 等,因此不是像 Tomcat 或 Jetty 这样的准系统servlet 容器。这样,EJB 注释将在项目中随时可用。
您甚至不一定需要启用 JPA 方面。您只会错过项目选项下与 JPA 相关的向导和代码生成器。但是你可以自己编写所有与 JPA 相关的代码,并且仍然可以部署它。毕竟,IDE就像记事本一样,但是有数百万个功能试图让你在编写代码时更舒适。项目方面基本上启用/禁用可用的项目选项/向导/代码生成器。