2017-10-11 299 views
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.xmlversion屬性試過,但沒有奏效。並拋出相同的錯誤。

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> 
+0

看來你是缺少的web.xml版本屬性,例如...'''''' –

+0

我也嘗試過版本屬性,但之後,其他錯誤即將到來。不起作用 –

+0

您還需要在類中設置'''@ApplicationPath(/「your_path」)'',或者在web.xml文件中配置Jersey Servlet。 –

回答

0

這是來自新澤西州的例子爲例web.xml文件,注意,是指向一個初始化參數澤西應用類

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

    <filter> 
     <filter-name>org.glassfish.jersey.examples.bookstore.webapp.MyApplication</filter-name> 
     <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class> 
     <init-param> 
      <param-name>javax.ws.rs.Application</param-name> 
      <param-value>org.glassfish.jersey.examples.bookstore.webapp.MyApplication</param-value> 
     </init-param> 
     <!-- pass to next filter if Jersey/App returns 404 --> 
     <init-param> 
      <param-name>jersey.config.servlet.filter.forwardOn404</param-name> 
      <param-value>true</param-value> 
     </init-param> 
    </filter> 
    <filter-mapping> 
     <filter-name>org.glassfish.jersey.examples.bookstore.webapp.MyApplication</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
</web-app> 

這是應用程序類:

public class MyApplication extends ResourceConfig { 
    public MyApplication() { 
     // Resources. 
     packages(Bookstore.class.getPackage().getName()); 

     // MVC. 
     register(JspMvcFeature.class); 

     // Logging. 
     register(LoggingFilter.class); 

     // Tracing support. 
     property(ServerProperties.TRACING, TracingConfig.ON_DEMAND.name()); 
    } 
}