如何告诉 WebSphere 忽略 JAX-RS 注释?
How do I tell WebSphere to ignore JAX-RS annotations?
我正在尝试将我的 WAR 文件部署到 WebSphere 8.5.5。它在 Tomcat、WebLogic、Jetty、JBoss 中工作,但在 WebSphere 中失败。
堆栈跟踪从 com.ibm.ws.webcontainer.webapp.WebAppImpl.scanForHandlesTypesClasses()
方法开始,该方法尝试创建 org.apache.cxf.jaxrs.provider.AtomPojoProvider
class 的实例。其他应用程序服务器不会在启动时创建 AtomPojoProvider
实例。
AtomPojoProvider
有注释 javax.ws.rs.ext.Provider
。我如何告诉 WebSphere 忽略此 JAX-RS 注释?
更新:尝试了以下内容:
- com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=真;
- web.xml 中的 metadata-complete=true;
- 在管理控制台中检查元数据是否完整。
看起来 WebSphere 8.5.5 忽略了这些设置。
您需要设置以下JVM属性:
com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true
但是在禁用 JAX-RS 运行时环境后,JAX-RS 功能不可用,包括基本 JAX-RS 运行时功能、Enterprise JavaBeans (EJB) 运行时集成、Java 上下文和依赖注入 (JCDI) 运行时集成,以及 Servlet 3.0 Web 容器集成。
有关详细信息,请查看 Disabling the JAX-RS runtime environment。
因此您也可以考虑从应用程序中删除第三方引擎并尝试使用 WebSphere 提供的引擎。
在 web.xml 中将网络应用程序版本更改为 2.4:
<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">
我正在尝试将我的 WAR 文件部署到 WebSphere 8.5.5。它在 Tomcat、WebLogic、Jetty、JBoss 中工作,但在 WebSphere 中失败。
堆栈跟踪从 com.ibm.ws.webcontainer.webapp.WebAppImpl.scanForHandlesTypesClasses()
方法开始,该方法尝试创建 org.apache.cxf.jaxrs.provider.AtomPojoProvider
class 的实例。其他应用程序服务器不会在启动时创建 AtomPojoProvider
实例。
AtomPojoProvider
有注释 javax.ws.rs.ext.Provider
。我如何告诉 WebSphere 忽略此 JAX-RS 注释?
更新:尝试了以下内容:
- com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=真;
- web.xml 中的 metadata-complete=true;
- 在管理控制台中检查元数据是否完整。
看起来 WebSphere 8.5.5 忽略了这些设置。
您需要设置以下JVM属性:
com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true
但是在禁用 JAX-RS 运行时环境后,JAX-RS 功能不可用,包括基本 JAX-RS 运行时功能、Enterprise JavaBeans (EJB) 运行时集成、Java 上下文和依赖注入 (JCDI) 运行时集成,以及 Servlet 3.0 Web 容器集成。
有关详细信息,请查看 Disabling the JAX-RS runtime environment。
因此您也可以考虑从应用程序中删除第三方引擎并尝试使用 WebSphere 提供的引擎。
在 web.xml 中将网络应用程序版本更改为 2.4:
<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">