【发布时间】:2017-08-28 09:33:44
【问题描述】:
得到这个错误为什么要在 weblogic 中部署战争
原因:weblogic.management.DeploymentException: [HTTP:101170]The servlet Web Rest Services 在 servlet-mapping /myrest/* 中被引用 但未在 web.xml 中定义。 在 weblogic.servlet.internal.WebAppServletContext.verifyServletMappings(WebAppServletContext.java:1465) 在 weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2809) 在 weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1661) 在 weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:822) 在 weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)
我的 web.xml:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>REST</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>rest.apis</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Web Rest Services</servlet-name>
<url-pattern>/myrest/*</url-pattern>
</servlet-mapping>
</web-app>
如果需要,我可以粘贴其余资源的代码,但不确定是否重要。
我担心什么,weblogic会不会有问题?
注意:最近app server升级到weblogic 12.1.2
【问题讨论】:
-
<servlet-name --> Jersey Web Application != Web Rest Services -
您认为名称标签应该匹配吗?很快就会尝试...
-
是的,这就是错误的原因。您正在使用未附加 servlet 的 servlet 映射。这是因为名称不同。这是否会让你跑步,我不确定。您可能还有更多问题
-
man... 检查 weblogic 的日志,它似乎通过了失败的那一点(它几乎立即失败),大约需要 10 分钟,如果它有效,你是个天才: )
-
:) 你可以写一个答案 :) (明天会接受)浪费了 3 个小时。谢谢