Soporte JAX-RS Jersey 2.10 en Websphere 8

Estoy tratando de usar Jersey 2.10 en Websphere 8 pero intenta hacer referencia a la Aplicación que es una implementación de JAX-RS 1.1 (Wink predeterminado) Obtengo el siguiente error aunque inhabilité el ajuste predeterminado de JAX-RS al configurar la propiedad de IBM.

Causado por: java.lang.NoSuchMethodError: javax / ws / rs / core / Application.getProperties () Ljava / util / Map; en org.glassfish.jersey.server.ApplicationHandler. (ApplicationHandler.java:287) en org.glassfish.jersey.servlet.WebComponent. (WebComponent.java:311)

Leí una publicación que dice que la política de carga de clases es PARENT_LAST. Cambiar esa opción estaba deshabilitada en la consola de WAS, así que traté de usar la (Configuración de publicación para WAS – Ejecutar servidor con recursos en el Servidor) y mi servidor se colgó.

Por favor avise. Gracias.

Debes hacer los siguientes pasos:

Deshabilitar JAX-RS incorporado a través de la propiedad JVM com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true ver descripción aquí .
Puede establecer esta propiedad a través de la consola de administración web en Servers > WebSphere Application Servers > yourServerName . Luego, en la sección Server Infrastructure Java and Process Management > Process definition > Java Virtual Machine > Custom properties .

Cree una biblioteca compartida aislada con todas las bibliotecas JAX-RS 2.10, en la consola a través de Environment > Shared Libraries .

La biblioteca compartida aislada se crea mediante la comprobación Use an isolated class loader for this shared library opción de carga de clases de la Use an isolated class loader for this shared library al crear la biblioteca.

Asigne esta biblioteca compartida a su aplicación, ya sea durante la instalación o más tarde, a través de Applications > appName > Shared library references .

Reinicie el servidor de aplicaciones. En SystemOut.log, debería ver el mensaje inicializando clases JAX-RS:

 [7/12/14 16:10:36:470 CEST] 0000004a JerseyServlet I Registering the Jersey servlet application, named javax.ws.rs.core.Application, with the following root resource and provider classes: [class jax.Hello, class org.glassfish.jersey.server.wadl.internal.WadlResource] [7/12/14 16:10:36:688 CEST] 0000004a ApplicationHa I Initiating Jersey application, version Jersey: 2.10.1 2014-06-30 13:53:32... 

ACTUALIZAR

Parece que también es posible cargar los archivos jar JAX-RS desde WAR. DisableIBMJAXRSEngine establecer esta propiedad DisableIBMJAXRSEngine y debe cambiar la opción de carga de clase en el cargador de Classes loaded with local class loader first (parent last) del módulo (no en el nivel EAR) a las Classes loaded with local class loader first (parent last)

En la consola de administración:

Aplicaciones> WebSphere Enterprise Applications> {your.application}> Manage Modules> {your.module}

Cambie el menú desplegable Orden de cargador de Classes loaded with local class loader first (parent last) a: Classes loaded with local class loader first (parent last) .

Gracias por las instrucciones para verificarlo, consulte JAX-RS 2.0 WebSphere 8.5 sin biblioteca compartida aislada