2015-10-21 58 views
0

由於下面的NoClassDefFoundError錯誤,我的應用程序返回500錯誤。我使用的是包含Jersey的Weblogic 12.1.2。Jersey中的NoClassDefFoundError

我的POM文件:

<properties> 
     <com.sun.jersey.version>1.17.1</com.sun.jersey.version> 
... 
      <dependency> 
       <groupId>org.atmosphere</groupId> 
       <artifactId>atmosphere-jersey</artifactId> 
       <version>0.7.2</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-server</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-client</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey.contribs</groupId> 
       <artifactId>jersey-atom-abdera</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-atom</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-json</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey.contribs</groupId> 
       <artifactId>jersey-multipart</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey.contribs</groupId> 
       <artifactId>jersey-spring</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <exclusions> 
        <exclusion> 
         <groupId>org.springframework</groupId> 
         <artifactId>spring-core</artifactId> 
        </exclusion> 
       </exclusions> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey.contribs</groupId> 
       <artifactId>jersey-guice</artifactId> 
       <version>${com.sun.jersey.version}</version> 
       <type>jar</type> 
      </dependency> 


]] Root cause of ServletException. 
java.lang.NoClassDefFoundError: com/sun/jersey/core/impl/provider/header/WriterUtil 
     at com.sun.jersey.core.impl.provider.header.MediaTypeProvider.toString(MediaTypeProvider.java:66) 
     at com.sun.jersey.core.impl.provider.header.MediaTypeProvider.toString(MediaTypeProvider.java:53) 
     at com.sun.jersey.spi.container.ContainerResponse.getHeaderValue(ContainerResponse.java:213) 
     at com.sun.jersey.spi.container.servlet.WebComponent$Writer.writeHeaders(WebComponent.java:347) 
     at com.sun.jersey.spi.container.servlet.WebComponent$Writer.writeStatusAndHeaders(WebComponent.java:335) 
     Truncated. see log file for 

完整的堆棧跟蹤

]] Root cause of ServletException. 
java.lang.NoClassDefFoundError: com/sun/jersey/core/impl/provider/header/WriterUtil 
     at com.sun.jersey.core.impl.provider.header.MediaTypeProvider.toString(MediaTypeProvider.java:66) 
     at com.sun.jersey.core.impl.provider.header.MediaTypeProvider.toString(MediaTypeProvider.java:53) 
     at com.sun.jersey.spi.container.ContainerResponse.getHeaderValue(ContainerResponse.java:213) 
     at com.sun.jersey.spi.container.servlet.WebComponent$Writer.writeHeaders(WebComponent.java:347) 
     at com.sun.jersey.spi.container.servlet.WebComponent$Writer.writeStatusAndHeaders(WebComponent.java:335) 
     Truncated. see log file for complete stacktrace 
+0

部署一個比容器提供的錯誤修正甚至JAX-RS 2.x版本更新的版本並沒有什麼壞處;這是有趣的,如果這是你想要做的:http://stackoverflow.com/questions/22507929/does-weblogic12c-support-jersey-2-x – Gimby

回答

2

如果你想使用的Weblogic提供的庫,則相關性都應當被標記爲

<scope>provided</scope> 

否則你將會拉入外部依賴關係,並將這些應用程序部署到其他工作中ds,您正在編譯並使用外部依賴包打包您的應用程序,而不是Weblogic提供的用於運行時的庫。

+0

你知道我在哪裏可以找到包括澤西島的jar嗎?我沒有在wlserver/modules中找到它。 Oracle的一個鏈接表示,Jersey 1.13正在被使用,但我沒有找到它。 – user994165

+0

在Weblogic 11g上,位置在這裏WL_HOME/common/deployable-libraries - 它在文檔中提到:http://docs.oracle.com/cd/E23943_01/web.1111/e13734/rest.htm#WSADV192 –

+0

I實際上在oracle_common/modules中找到它們。謝謝 – user994165