java.lang.ClassNotFoundException:tomcat 7上的javax.jms.JMSContext
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.lang.ClassNotFoundException:tomcat 7上的javax.jms.JMSContext相关的知识,希望对你有一定的参考价值。
我有一个Spring web应用程序,我试图在tomcat 7上部署。我在tomcat 7启动时遇到以下错误:
引起:
java.lang.ClassNotFoundException:javax.jms.JMSContext
这是因为tomcat找不到我的应用程序的javaee-api-7.0.jar
文件夹中的WEB-INF/lib
。但是,如果我将其复制到tomcat/lib
,则会修复错误并且tomcat可以加载该类。
但我不想将任何额外的罐子复制到tomcat / lib。有人可以在这里帮助,以便tomcat可以在应用程序的lib中找到上面的jar。我错过了任何类路径处理程序条目吗?我没有明确添加任何内容。
当我使用Tomcat-7部署我的应用程序时,从spring-3.0迁移到spring-5.0时,我也遇到了同样的问题。我在pom.xml文件中添加了maven依赖项,然后解决了。
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>
我发现的根本原因是,spring-jms-5.0.2.RELEASE.jar提供的UserCredentialsConnectionFactoryAdapter类在内部使用了JMSContext类。这个类在我使用spring-jms-3.2.4.jar的jms-1.1.jar中不可用。
所以我用javax.jms-api-2.0.1.jar替换了jms-1.1.jar
我建议你根据你的春季版本添加/升级你的jms jar如上所述。希望这个有效!
以上是关于java.lang.ClassNotFoundException:tomcat 7上的javax.jms.JMSContext的主要内容,如果未能解决你的问题,请参考以下文章