apache tomcat catalina作为CORS过滤器的maven依赖

eps*_*psi 10 apache tomcat maven catalina openshift

我在我的webapp中使用org.apache.catalina.filters.CorsFilter.所以我指定了maven依赖

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-catalina</artifactId>
    <version>7.0.50</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

现在,如果我说范围是"提供"或"运行时",则服务器无法启动,因为

java.lang.ClassNotFoundException: org.apache.catalina.filters.CorsFilter
Run Code Online (Sandbox Code Playgroud)

这个类在jbossews/lib的catalina jar中不可用,即7.0.40

在openshift上"升级"tomcat是否容易?或者如果有人可以提出解决方案,我们非常感谢.

非常感谢,

ash*_*ash 6

这对我有用:

        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-catalina</artifactId>
            <version>7.0.42</version>
            <scope>provided</scope>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

尝试7.0.50也有效.你能仔细检查周围没有竞争的jar文件版本吗?也许有一个较旧的版本没有实际被JVM使用的类.在Linux下,"ls -l/proc/$ CATALINA_PID/fd"可能会显示正在使用的jar文件.

还要确保在最新版本的Tomcat服务器中运行它.

  • 我是在普通的webapp中使用Tomcat 7.0.37来到这里的,但是上面提到的以上内容对我来说并不起作用.问题是**你需要至少Tomcat 7.0.41才能使CORS过滤器可用**,你可以在http://tomcat.apache.org/oldnews-2013.html上的7.0.41的changelog中看到 (3认同)