Span | ||
---|---|---|
| ||
JAX-RS : Deployment |
Table of Contents |
---|
This page provides the tips on how to deploy CXF JAX-RS applications packaged as WAR archives or OSGI bundles into Java EE application servers and OSGI containers.
Spring Boot
Please see CXF SpringBoot documenation.
Please see JAX-RS Spring Boot and JAX-RS Spring Boot Scan demos.
Servlet Containers
Tomcat
...
If you configure CXFServlet to redirect to custom JSP pages then you need to add the following declaration to web.xml:
Code Block | ||||
---|---|---|---|---|
| ||||
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>weblogic.servlet.JSPServlet</servlet-class>
</servlet>
|
...
WebLogic requires the following update to the proprietary deployment descriptor weblogic.xml:
Code Block | ||||
---|---|---|---|---|
| ||||
<container-descriptor>
<!-- SNIP -->
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
|
This instructs WebLogic's classloaders to look FIRST in the JARS from the application's WEB-INF/lib directory for Service Provider Implementations (in this case, to find META-INF/services/javax.xml.stream.XMLInputFactory in the Woodstox JAR) rather than to the system classloader.
Please see this thread for more information.
Downgrading Servlet version
It was reported that downgrading a web-app descriptor version in web.xml can help disable the native (Jersey) scanning:
Code Block | ||||
---|---|---|---|---|
| ||||
<!-- From: -->
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_3_0.xsd">
</web-app>
<!-- To: -->
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app> |
Removing myfaces-shared-impl jar
It was reported if myfaces-shared-impl-4.1.0.jar is shipped in a web application lib folder then removing it helps, with the following descriptor being effective:
Code Block | ||||
---|---|---|---|---|
| ||||
<weblogic-web-app>
<context-root>/emessaging</context-root>
<container-descriptor>
<prefer-web-inf-classes>false</prefer-web-inf-classes>
<prefer-application-packages>
<package-name>javax.faces.*</package-name>
</prefer-application-packages>
</container-descriptor>
</weblogic-web-app> |
How to use CXF JAX-RS 2.0 if WebLogic ships JAX-RS 1.1
Please see the following email message.
Geronimo
CXF RuntimeDelegate
...