将 JAX RS 应用程序部署到 Web Sphere 8.5 时找不到 Servlet 映射错误
Servlet mapping not found error while deploying JAX RS application to web sphere 8.5
我是网络服务新手。已在 java 中使用 Eclipse 开发了一个简单的 rest web svc,Tomcat 遵循此 link. Application successfully runs on Tomcat but when i deploy it to IBM WebSphere 8.5.5. It deploys successfully but fails to start. I know its something with my Web.xml so i am adding it for rectification. Tried 但无济于事。
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>wstest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Java WS</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>book</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Java WS</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
当我尝试启动应用程序时生成的 Web Sphere 日志是:-
0000112c ApplicationMg A WSVR0204I: Application: TestWS_war Application build level: Unknown
0000112c webapp E com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper
constructServletMappings SRVE0303E: Servlet name for the servlet mapping /* could not be found.
0000112c DeployedAppli W WSVR0206E: Module, TestWS.war, of application, TestWS_war.ear/deployments/TestWS_war,
failed to start
0000112c ApplicationMg W WSVR0101W: An error occurred starting, TestWS_war
0000112c ApplicationMg A WSVR0217I: Stopping application: TestWS_war
0000112c ApplicationMg A WSVR0220I: Application stopped: TestWS_war
0000112c CompositionUn E WSVR0194E: Composition unit WebSphere:cuname=TestWS_war in BLA
WebSphere:blaname=TestWS_war failed to start.
0000112c MBeanHelper E Could not invoke an operation on object:
WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=svrNode01,
version=8.5.5.0,type=ApplicationManager,mbeanIdentifier=ApplicationManager,
cell=svrNode01Cell,spec=1.0
because of an mbean exception: com.ibm.ws.exception.RuntimeWarning:
SRVE0303E: Servlet name for the servlet mapping /* could not be found.
我已经尝试了 Class 加载选项 Parent First 和 Parent Last 但无济于事。
它给出了 Class 路径中缺少“org.glassfish.jersey.servlet.ServletContainer”的错误。因此应用程序未启动。
看到与 WAS 8.5.5 兼容的 Jersey 版本了吗? (我认为是泽西 1.x)。需要使用对应的库
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
我是网络服务新手。已在 java 中使用 Eclipse 开发了一个简单的 rest web svc,Tomcat 遵循此 link. Application successfully runs on Tomcat but when i deploy it to IBM WebSphere 8.5.5. It deploys successfully but fails to start. I know its something with my Web.xml so i am adding it for rectification. Tried
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>wstest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Java WS</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>book</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Java WS</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
当我尝试启动应用程序时生成的 Web Sphere 日志是:-
0000112c ApplicationMg A WSVR0204I: Application: TestWS_war Application build level: Unknown
0000112c webapp E com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper
constructServletMappings SRVE0303E: Servlet name for the servlet mapping /* could not be found.
0000112c DeployedAppli W WSVR0206E: Module, TestWS.war, of application, TestWS_war.ear/deployments/TestWS_war,
failed to start
0000112c ApplicationMg W WSVR0101W: An error occurred starting, TestWS_war
0000112c ApplicationMg A WSVR0217I: Stopping application: TestWS_war
0000112c ApplicationMg A WSVR0220I: Application stopped: TestWS_war
0000112c CompositionUn E WSVR0194E: Composition unit WebSphere:cuname=TestWS_war in BLA
WebSphere:blaname=TestWS_war failed to start.
0000112c MBeanHelper E Could not invoke an operation on object:
WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=svrNode01,
version=8.5.5.0,type=ApplicationManager,mbeanIdentifier=ApplicationManager,
cell=svrNode01Cell,spec=1.0
because of an mbean exception: com.ibm.ws.exception.RuntimeWarning:
SRVE0303E: Servlet name for the servlet mapping /* could not be found.
我已经尝试了 Class 加载选项 Parent First 和 Parent Last 但无济于事。
它给出了 Class 路径中缺少“org.glassfish.jersey.servlet.ServletContainer”的错误。因此应用程序未启动。
看到与 WAS 8.5.5 兼容的 Jersey 版本了吗? (我认为是泽西 1.x)。需要使用对应的库
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>