我在开始我的项目时遇到了问题。
环境:
Tomcat 6,Jdk_6.45, 已添加:com.ibm.mq.jar、com.ibm.mqjms.jar、
上下文.xml
<Context>
...
<Resource name="jms/sl.mqfactory" type="com.ibm.mq.jms.MQQueueConnectionFactory"
factory="com.ibm.mq.jms.MQQueueConnectionFactoryFactory" description="JMS Queue Connection Factory"
HOST="mqqs01.s.abc.co.uk" PORT="53162" CHAN="MQ.CLT.BLP.CHL.DEV"
TRAN="1" CCS="819" QMGR="QS01" auth="Container" username="" password="" />
</Context>
Spring :
<bean id="jndiConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${sl.mqfactory}" /> <!--from properties file -->
<property name="proxyInterface" value="javax.jms.QueueConnectionFactory"/>
</bean>
异常:
java.lang.NoClassDefFoundError: Could not initialize class com.ibm.mq.jms.MQQueueConnectionFactory
最佳答案
经过this link之后, 我添加了 J2ee.jar [没有 servlet 包|在我的情况下 (1.4.1) jar 中的文件夹]
它现在正在工作。
如果您在 servlet 文件夹中添加 j2ee jar,tomcat 将忽略它,jar 未加载。请参阅 Servlet 规范 3.0,第 10.7.2 节。违规类:javax/servlet/..
其实MQQueueConnectionFactory需要javax.resource-api
关于java.lang.NoClassDefFoundError : Could not initialize class com. ibm.mq.jms.MQQueueConnectionFactory 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32888492/