我正在运行动态Web项目,但遇到Tomcat的以下错误:
Caused by: java.lang.NoClassDefFoundError: com/ibm/mq/MQException
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredFields(Unknown Source)
at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Caused by: java.lang.ClassNotFoundException: com.ibm.mq.MQException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 20 more
我将com.ibm.mq.jar添加为外部jar。有谁知道什么是错的?
答案 0 :(得分:1)
您需要将该jar标记为需要从项目的Deployment Assembly属性页面进行部署。默认情况下,只有WEB-INF / lib文件夹中物理上的jar将部署到服务器。
答案 1 :(得分:0)
首先,您需要的不仅仅是 com.ibm.mq.jar 文件才能连接到远程队列管理器。
如果您使用的是WMQ v6.0或更低版本,则需要以下MQ JAR文件:
如果您使用的是WMQ v7.0,v7.1,v7.5或更高版本,则需要以下MQ JAR文件:
如果您在应用程序中使用JMS,那么您还需要:
您使用的是MQ JNDI吗?如果是这样,也要添加jndi.jar文件。
这是标准的RTM,因为它有详细记录。