问题描述
我有一个Java swing GUI客户端。 响应网页请求,它通过JNLP传送到用户的PC。 它具有一个javax.jms.MessageListener,它侦听消息侦听器为MDB的远程Internet服务器(glassfish 4)上的jms.Queue。
当我直接从Eclipse启动客户端时,一切正常。
但是,当我启动浏览器时,如果单击指向JNLP文件的链接,则客户端将无法使用NoClassFound for javax.jms.MessageListener进行部署。
许多小时后,我才意识到这可能是因为Java JRE不包含JMS API。 因此,我需要将客户端使用的JMS类打包到我的.ear包中。
因此,我非常感谢任何人在我开始之前告诉我他们是否认为我处在正确的轨道上。 如果是的话,确认我应该将MessageListener.class放在.ear / .war包中。
谢谢你的帮助..
1楼
这是一个愚蠢的问题。 当然,解决方法是将我需要的几个JMS .class文件打包在下载的JNLP文件的.jar文件中。
放入整个Javax.jms.jar文件是不可想象的,因为必须与客户端一起下载它。
对于其他新手,只需将jms.jar更改为jms.zip即可提取.class格式的整个API。 然后只重新包装我需要的东西。