我在我的网络应用程序中使用 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
这个类在 jbossews/lib 的 catalina jar 中不可用,它是 7.0.40
在openshift上“升级”tomcat容易吗?或者如果有人可以提出解决方案,我们将不胜感激。
非常感谢,
最佳答案
这对我有用:
<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 服务器版本中运行它。
关于apache tomcat catalina 作为 CORS 过滤器的 Maven 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22634691/