我在我的webapp应用中使用了org.apache.catalina.filters.CorsFilter。所以我指定了maven依赖项
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.50</version>
</dependency>现在,如果我说作用域是“提供”或“运行时”,服务器不会启动,因为
java.lang.ClassNotFoundException: org.apache.catalina.filters.CorsFilter这个类在7.0.40版本的jbossews/lib的catalina jar中不可用
在openshift上“升级”tomcat容易吗?或者,如果有人能提出解决方案,我们将不胜感激。
非常感谢,
发布于 2014-04-21 09:43:54
这对我很有效:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.42</version>
<scope>provided</scope>
</dependency>尝试7.0.50也行得通。您能仔细检查一下周围是否有竞争的jar文件版本吗?也许有一个较旧的版本,但JVM实际上并没有使用这个类。在Linux下,"ls -l /proc/$CATALINA_PID/fd“可能会显示正在使用的jar文件。
还要确保在Tomcat服务器的足够新版本中运行它。
发布于 2014-12-03 21:05:15
您可以将jar添加到您的存储库,并修改.openshift/config/catalina.properties以让tomcat看到它:
shared.loader=${catalina.home}/../app-root/runtime/repo/_your_jar_folder_您也可以使用common.loader -查找tomcat的引用以了解差异。
https://stackoverflow.com/questions/22634691
复制相似问题