2017-04-26 10 views
0

私はspring mvcとjersey restクライアントプロジェクト1に取り組んでいますし、Spring Coreとしてプロジェクト2を行っています。java.lang.LinkageError:ClassCastException:春の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:キャストしようとしています:file:/ 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

マイプロジェクト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スコープを使用することで、これを行うことができます。