2013-02-15 19 views
1

我被交给一个应用程序,这两个JAR只包含在lib目录中。据我所知,它们实际上并不是从Java Enterprise Edition软件包中分离出来的。假设他们拥有我需要的一切,这是一个好主意吗?它确实减少了部署的规模。仅仅引用Oracle的imq.jar和jms.jar是否通用?

回答

1

这些jar文件只是在类路径中需要的。如果他们是你不需要将它们包含在部署中。

如果这是您的意思,那么删除用于Java EE安装的任何软件包是不清楚的。它可能会影响其他需要这些软件包的应用程序,并且这些错误在发生时很难追查到。

UPDATE

所以问题会是确定没有在Java EE英索尔运行Java EE库?如果没有Java EE安装,并且该应用程序旨在与JRE一起运行,则没有任何问题。这只是需要JRE加上从Java EE 2个库,只要确保(这就是棘手的部分)的库没有其他Java EE库

UPDATE

双方的任何相关的应用程序显然不需要其他依赖,但是如果你想确保从maven仓库下载它们。

+0

这并不回答我的问题。我关心如何以一种理智的方式部署它们。从JEE安装中分离这两个JAR并将它们引用到项目中是否明智? – 2013-02-15 20:34:13

+0

那么你的问题还不清楚。 如果这就是你的意思,那么删除JEE安装的任何软件包都是不理智的。它为什么会影响您的部署安装?如果这些罐子已经在您的JEE安装中,并且您希望为您的部署删除它们,那就OK – PbxMan 2013-02-15 20:41:19

+0

没有JEE安装。这些库不是安装JEE,而是从JEE安装中复制而来,并包含在特定应用程序的lib目录中。这对我来说似乎并不明智,但它们是JEE环境中唯一需要的库,用于使桌面应用程序能够使用JMS API。 – 2013-02-15 20:50:40

1

这取决于您是否想要在某些Java EE应用程序服务器(GlassFish,JBoss等)上部署应用程序或将它保留在外部。在后一种情况下,这不是问题,如果这是个好主意 - 您可以使用将imq.jar和jms.jar包含在您的应用程序中,以便能够与JMS消息代理进行通信。

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

相关问题