有时我尝试在 EJB-JAR 中添加第三方库。到目前为止,在我看来,这是不可能的,但我不确定,为什么这是不可能的。
我想创建单个 EJB-JAR 和 WAR,而不是将它们放在一个 EAR 中。
Arjan Tijms 在Java EE - EAR 与单独的 EJB+WAR中展示了三种方式,为了澄清它,我想要选项 2。
我自己的研究主要针对以下问题J2EE:如何将 3rd 方 JAR 打包到 EJB jar 中?,但我不想要 EAR 文件。
在 oracle 站点本身上显示了 EJB-JAR 的以下打包:EJB 打包, 它没有像 WAR 那样的自己的 lib 目录。我已经尝试将库放在根目录中(使用 eclipse + JBoss 7)。我的第一个问题是,是否可以将额外的库添加到 EJB-JAR 中,就像在 WAR 文件中一样?这让我很困惑,因为可以将简单的 EJB-JAR 部署到应用程序服务器,但您似乎无法添加第三方库。对我来说,EAR 似乎大多是“矫枉过正”,因为它对我来说没有真正的优势,其次,如果我将库放入 EAR,不同的 EJB-JAR 不会使用来自第三方库的不同版本。我希望 EJB-JAR 完全独立于其他 EJB-JAR 和 WAR。我只创建了一个额外的简单 jar 项目,其中包含必须实现的接口,并添加到每个 EJB 项目和 WAR 项目中。这让我想到了问题 2:我是否使用过 EAR,如果是,为什么?在我看来,我错过了一些还不明白的东西。