问题
I have JAX-RS WS application deployed on WAS 8.0 with an empty 2.4 web.xml, class that extends 'javax.ws.rs.core.Application' and 2 resources, and it works great.
I would like to deploy this application on WAS 7.0, but I'm getting: 'Error 404: SRVE0190E: File not found: /rest/source' (that's the path of the resource).
How can I deploy JAX-RS application on WAS 7.0 without using Jersey or any other application-server related classes?
Thanks
回答1:
In WAS 7 you must defined the servlet in the web.xml:
<servlet>
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet</servlet-name>
<servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>YOUR APPLICATION CLASS</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Also, WAS 7 isn't bundle with JAX-RS you should add the JAX-RS jars to your web module or add it as a shared library.
来源:https://stackoverflow.com/questions/13820912/jax-rs-without-jersey-on-was7