1

我收到了一个应用程序,其中这两个 JAR 只是包含在 lib 目录中。据我所知,它们实际上并没有与 Java 企业版软件包分开分发。假设他们拥有我需要的一切,这是个好主意吗?它确实减少了部署的规模。

4

2 回答 2

1

这取决于您是要将应用程序部署在某个 Java EE 应用程序服务器(Glassfish、JBoss 等)上还是将其保留在外部。在后一种情况下,这是否是个好主意是毫无疑问的——您必须在应用程序中包含 imq.jar 和 jms.jar 才能与 JMS 消息代理进行通信。

我已经多次使用这种方法,一个示例是通过将 SMS 放入消息队列来发送 SMS 的独立应用程序。另一方面,应用服务器中有一个 MDB,它侦听特定的消息队列并发送 SMS。

于 2013-02-16T11:06:59.157 回答
1

类路径中只需要这些 jar 文件。如果是,则无需将它们包含在部署中。

如果这就是您的意思,那么删除 Java EE 安装的任何包是不明智的。它可能会影响确实需要这些软件包的其他应用程序,并且当它们发生时很难追踪这些错误。

更新

所以问题是可以在没有 Java EE 安装的情况下运行 Java EE 库吗?如果没有安装 Java EE 并且该应用程序旨在使用 JRE 运行,那么这没有任何问题。它只是一个需要 JRE 加上来自 Java EE 的 2 个库的应用程序,只需确保(这是棘手的部分)这些库没有来自其他 Java EE 库的任何依赖项

更新

两者显然都不需要其他依赖项,但如果您想确保从 maven 存储库下载它们。

于 2013-02-15T20:30:43.303 回答