Preloader image

If you have an application that uses jersey-client in any way then it may fail with an error along the lines of:

Caused by: java.lang.ClassNotFoundException: com.sun.jersey.core.util.FeaturesAndProperties
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java)
at org.apache.tomee.catalina.LazyStopWebappClassLoader.loadClass(LazyStopWebappClassLoader.java)
... 34 more

This is due to the fact that the jersey-core.jar contains some classes that should not be deployed as part of a javaEE application. For example, it contains javax.ws.rs.Path but does not contain javax.ws.rs.core.Configurable, so the jar is usually ignored by TomEE.

You could switch to using the Apache CXF Client, which is what we would recommend. If you really want to keep Jersey then you can use set the following property in your [TomEE].properties

openejb.api.javax.ws.rs.Path.validation=false

This will then allow Jersey classes to be loaded by TomEE (After a restart).