我正在阅读使用 GlassFish 3 开始 Java EE 6,我对打包 Java EE 应用程序的正确性感到困惑。
EJBs Lite 可以直接打包在war 或jar 文件中。如果您需要使用完整的 EJB 规范(例如,远程接口、JMS、异步调用...),您必须将其打包成 jar,而不是 war。
这是什么意思?如果我在 Glassfish 中部署一个打包为 WAR 的应用程序,它不会给我所有的 Java EE 服务吗?如果是这样,我错过了什么。
我知道 3.1 引入了一个新的配置文件 EJB Lite,它旨在成为完整规范的一个子集,针对不想实现所有内容的实现者,并且您从 3.1 可以将 EJB 打包到 WAR 中并使用指定的服务由 EJB Lite 规范。但是如果你在一个完整的规范容器中部署一个 WAR,它应该给你所有的东西,就像你创建一个 JAR 一样?WAR 不就是 JAR 的另一个名称吗?区别不能在于它是如何打包的,而在于它实际支持什么?
有人可以澄清一下。