1
您好我正在使用一個restfull webservice,它在版本weblogic 12.2.1.2
之前部署,但在weblogic 12.2.1.2
未部署。並拋出下面的錯誤:我在weblogic 12.2.1.2上部署restFull webservice webapp並且失敗
<Oct 11, 2017, 8:16:22,462 PM IST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element "web-app" in the deployment descriptor /u01/xxx/xxxx/webapps/xx/WEB-INF/web.xml. A version attribute is required, but this version of the WebLogic Server will assume that the latest version is used. Future versions of WebLogic Server will reject descriptors that do not specify the Java EE version. To eliminate this warning, add an appropriate "version=" to element "web-app" in the deployment descriptor.>
<Oct 11, 2017, 8:16:22,620 PM IST> <Warning> <JAXRSIntegration> <BEA-2192510> <Cannot add Jersey servlet for application class com.xxx.xx.xx.xxx.JerseyConfig because ApplicationPath annotation is not set on it.>
<Oct 11, 2017, 8:16:22,621 PM IST> <Warning> <JAXRSIntegration> <BEA-2192510> <Cannot add Jersey servlet for application class org.glassfish.jersey.server.ResourceConfig because ApplicationPath annotation is not set on it.>
<Oct 11, 2017, 8:16:22,624 PM IST> <Warning> <JAXRSIntegration> <BEA-2192510> <Cannot add Jersey servlet for application class org.glassfish.jersey.server.ResourceConfig$WrappingResourceConfig because ApplicationPath annotation is not set on it.>
<Oct 11, 2017, 8:16:22,624 PM IST> <Warning> <JAXRSIntegration> <BEA-2192510> <Cannot add Jersey servlet for application class org.glassfish.jersey.server.ResourceConfig$RuntimeConfig because ApplicationPath annotation is not set on it.>
<Oct 11, 2017, 8:21:37,36 PM IST> <Error> <org.glassfish.jersey.server.spring.SpringComponentProvider> <BEA-000000> <[failed to localize] none.or.multiple.beans.available(class com.xxx.xx.xx.JerseyConfig)>
我在web.xml
與version
屬性試過,但沒有奏效。並拋出相同的錯誤。
Env。詳細信息:
Java-1.7 & 1.8
weblogic-12.2.1.2
Servlet-api-2.4
任何幫助,將不勝感激..
更新:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<display-name>xxx</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext.xml
WEB-INF/classes/configs/*.xml
</param-value>
</context-param>
<!--<context-param>
<param-name>contextClass</param-name>
<param-value>com.javaetmoi.core.spring.JBoss5XmlWebApplicationContext</param-value>
</context-param>-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>jerseyServlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.xx.xx.xx.JerseyConfig</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jerseyServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>localFilesBasePath</param-name>
<param-value>configs</param-value>
</context-param>
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>resteasy.scan.providers</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>resteasy.scan.resources</param-name>
<param-value>false</param-value>
</context-param>
<resource-ref>
<res-ref-name>jdbc/xxx</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<res-ref-name>jdbc/xxx</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
看來你是缺少的web.xml版本屬性,例如...'''''' –
我也嘗試過版本屬性,但之後,其他錯誤即將到來。不起作用 –
您還需要在類中設置'''@ApplicationPath(/「your_path」)'',或者在web.xml文件中配置Jersey Servlet。 –