I'm using org.apache.catalina.filters.CorsFilter in my webapp. So I specify the maven dependency
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.50</version>
</dependency>
Now, If I say the scope is "provide" or "runtime" the server doesn't start, because of
java.lang.ClassNotFoundException: org.apache.catalina.filters.CorsFilter
This class is not available in the catalina jar from jbossews/lib which is 7.0.40
Is it easy to "upgrade" tomcat on openshift? or if anybody can suggest a solution, it is much appreciated.
Many thanks,
This worked for me:
Trying 7.0.50 also worked. Can you double-check that there are no competing jar file versions lying around? Perhaps there is an older version without the class actually getting used by the JVM. Under Linux, "ls -l /proc/$CATALINA_PID/fd", may show which jar file is being used.
Also make sure to run this in a recent enough version of the Tomcat server.
You can add the jar to your repository and modify the .openshift/config/catalina.properties to let tomcat see it:
You can also use the common.loader - look up tomcat's refs for difference.