2017-04-26 146 views
0

我正在將spring mvc和jersey rest客戶端項目1和項目2作爲一個spring核心.Throws異常,同時在tomcat服務器中執行代碼。java.lang.LinkageError:ClassCastException:在Spring MVC項目中

例外: 陷入拋出ClassCastException異常:試圖castjar:文件:/project1/web/webroot/WEB-INF/lib/jersey-core-1.13.jar /javax/ws/rs/ext/RuntimeDelegate.classtojar! :file:/project2/lib/jersey-core-1.13.jar!/javax/ws/rs/ext/RuntimeDelegate.class java.lang.LinkageError:ClassCastException:嘗試執行castjar:file:/ project1/web/webroot/WEB-INF/lib目錄/球衣核-1.13.jar! /javax/ws/rs/ext/RuntimeDelegate.classtojar:file:/project2/lib/jersey-core-1.13.jar!/javax/ws/rs/ext/RuntimeDelegate.class

我的項目2 Maven依賴:

<properties> 
      <jersey.version>1.13</jersey.version> 
     </properties> 

     <dependencies> 
      <dependency> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-core</artifactId> 
       <version>${jersey.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-client</artifactId> 
       <version>${jersey.version}</version> 
       <exclusions> 
        <exclusion> 
         <groupId>com.sun.jersey</groupId> 
         <artifactId>jersey-core</artifactId> 
        </exclusion> 
       </exclusions> 
      </dependency> 
      <dependency> 
       <groupId>org.json</groupId> 
       <artifactId>json</artifactId> 
       <version>20090211</version> 
      </dependency> 
      <dependency> 
       <groupId>com.fasterxml.jackson.module</groupId> 
       <artifactId>jackson-module-jaxb-annotations</artifactId> 
       <version>2.4.0</version> 
      </dependency> 

項目1 Maven依賴:

<properties> 
     <jersey.version>1.13</jersey.version> 
    </properties> 

    <dependencies> 
      <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-core</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-client</artifactId> 
      <version>${jersey.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>com.sun.jersey</groupId> 
        <artifactId>jersey-core</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-json</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-servlet</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey.contribs</groupId> 
      <artifactId>jersey-spring</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey.jersey-test-framework</groupId> 
      <artifactId>jersey-test-framework-core</artifactId> 
      <version>${jersey.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>jsr311-api</artifactId> 
      <version>1.1.1</version> 
     </dependency> 
<dependency> 
    <groupId>org.springframework.security.oauth</groupId> 
    <artifactId>spring-security-oauth2</artifactId> 
    <version>2.0.6.RELEASE</version> 
    <exclusions> 
       <exclusion> 
        <groupId>com.sun.jersey</groupId> 
        <artifactId>jersey-client</artifactId> 
       </exclusion> 
      </exclusions> 
</dependency> 
<dependency> 
    <groupId>net.sourceforge.javacsv</groupId> 
    <artifactId>javacsv</artifactId> 
    <version>2.0</version> 
</dependency> 

回答

0

您有在這兩個項目jersy存在。這將使不同的類加載器加載jersy類,因此你會得到類轉換異常。確保jersy只加載一次。你可以通過將你的jersy jar放入服務器庫並使用maven scope來實現。