如果我想要 EJB 3.0 支持并想要运行 Java 7,我需要 Java EE 还是可以坚持使用 SE?
在过去(许多 JDK 版本之前),需要“J2EE”版本的 JDK 来运行 EJB。看来这不再是真的了。请指教。
更新:我应该提到该应用程序将在 Oracle WebLogic 10.3.6 中运行。
如果我想要 EJB 3.0 支持并想要运行 Java 7,我需要 Java EE 还是可以坚持使用 SE?
在过去(许多 JDK 版本之前),需要“J2EE”版本的 JDK 来运行 EJB。看来这不再是真的了。请指教。
更新:我应该提到该应用程序将在 Oracle WebLogic 10.3.6 中运行。
不,这是不变的。EJB 是 Java EE 的一部分,而不是 Java SE 的一部分。这可能永远不会改变,因为对 EJB 的基础架构支持很大(并且不太可能包含在 Java SE 中)。
EJB 是 Java EE 的一部分。但是,如果您想要的是 JPA,即使 API 包含在 Java EE(这里是 API 文档)中,您也不再需要用于 JPA 的 Java EE 应用程序服务器(与 EJB 实体 bean 的情况不同)。JPA 可以与 Java SE 一起使用。
如果您在 Weblogic 中运行它,那么您可以访问 Java EE,所以我不明白问题的重点。
为了运行 EJB,您需要一个 EJB 容器(例如 Glassfish),它不包含在 Java SE 7 中。
我认为你错了。EJB 仍然只是 Java EE 规范的一部分,而不是 Java SE。如果您查看Java SE API,则没有对 EJB 的引用。
您可以在具有 EJB 的 3.1 Lite 容器的非 Java EE 应用程序服务器中使用 EJB - http://docs.oracle.com/javaee/6/api/javax/ejb/embeddable/EJBContainer.html。
所有符合 Java EE 6 的应用程序服务器都必须能够以嵌入式模式运行。
然而,这不是 Java SE 7 的特性(它在 Java SE 6 中运行良好)而是 Java EE 6 API,所以如果你坚持使用 EJB 3.0,那么你就需要使用应用程序服务器或一些特定于实现者的特性.