【发布时间】:2016-11-18 02:30:26
【问题描述】:
我想创建一个 Java 独立应用程序,它应该是一个 .exe,并将其安装在本地机器上,以便通过 JMS 连接到客户端队列管理器。 示例:场景就像项目应该被开发以连接到活动 来自通过 JMS 连接的本地计算机的 MQ 客户端队列。如果我在应用程序中放置一条消息,它应该在独立应用程序中通过 QCF 连接到客户端队列,而无需安装在 WebSphere 服务器中。
有没有办法实现或我可以采取任何示例来构建这个项目?
【问题讨论】:
我想创建一个 Java 独立应用程序,它应该是一个 .exe,并将其安装在本地机器上,以便通过 JMS 连接到客户端队列管理器。 示例:场景就像项目应该被开发以连接到活动 来自通过 JMS 连接的本地计算机的 MQ 客户端队列。如果我在应用程序中放置一条消息,它应该在独立应用程序中通过 QCF 连接到客户端队列,而无需安装在 WebSphere 服务器中。
有没有办法实现或我可以采取任何示例来构建这个项目?
【问题讨论】:
最好的办法是创建一个executable jar。如果您是面向 maven 的,Shaded 插件可以很短地完成这项工作。但是,除了 JMS RAR(不适用于您的非 Java EE 应用程序)和名为 com.ibm.mq.allclient.jar 的新 MQ8 可重定位 jar 文件外,WebsphereMQ jar 不支持重定位(即从原始安装位置移动它们) .
就创建一个实际的exe而言,有很多方法可以做到这一点,例如InstallAnywhere,但一个可执行的jar可能更简单。
【讨论】:
您可以找到一大堆独立的 JMS/MQ 示例应用程序here,但实际上这不是 JMS/MQ 问题,而是 Java 问题。您有 3 个选择:
如果您希望保护您的代码不被反编译,那么您唯一的选择是 Excelsior JET。
注意:便宜的方法可能是将ProGuard 与选项#2 一起使用。
【讨论】: