2016-11-22 7 views
0

私はJasperReports 6.3.1をDropwizard 1.0.5プロジェクトで使用していますが、JSONレスポンスを脱塩するときにジャクソンと競合するようです。JasperReportsジャクソンの依存関係の競合

私が取得しています:

Stacktrace: 
    at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:462) 
.... 
Caused by: org.apache.jasper.JasperException 

Stacktrace: 
    at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477) 
... 
Caused by: org.apache.jasper.el.JspELException 
... 
Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectReader.getConfig()Lcom/fasterxml/jackson/databind/DeserializationConfig; 

を私はMavenの依存関係からjackson-coreを除く試みたが、それはトリックを行うことはありません。私が見たよう 、ジャスパーは2.1.4を使用し、Dropwizardは2.7.8

<dependency> 
     <groupId>net.sf.jasperreports</groupId> 
     <artifactId>jasperreports</artifactId> 
     <version>6.3.1</version> 
     <exclusions> 
     <exclusion> 
      <artifactId>jackson-core-asl</artifactId> 
      <groupId>org.codehaus.jackson</groupId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    </dependencies> 
+0

完全依存関係ツリーを確認しましたか?除外を追加した後に変更されたもの –

+0

のpom.xmlから除外し、依存関係ツリーはそのまま見えたと私は同じエラーを得ました。 com.fasterxml.jackson.annotation.JsonInclude $ VALUE_:依存関係ツリーからライブラリを除外すると、私は_java.lang.ClassNotFoundExceptionを取得し始めました –

答えて

1

私は私の問題を解決しました。 問題は、私がDropwizardアプリケーション(v 1.0.5)を使用していたときに、jackson 2.7.8に付属していたことでした。

JasperReportsもjacksonを使用していますが、2.1.4を使用しています。

JSONオブジェクトをデシリアライズするとき、それはすべての必要な機能を持っていなかったのJasperReportsのライブラリー(V 2.1.4)を使用していました。

私はこれを、pom.xmlにjacksonライブラリ(コアと注釈)を追加して解決しました。

  <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-annotations</artifactId> 
      <version>2.7.8</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-core</artifactId> 
      <version>2.7.8</version> 
     </dependency> 
1

Objectreaderクラスはジャクソン・データバインドバイナリに存在している使用しています。

jackson-core-aslではなくjackson-databindを除外できますか?

<dependency> 
     <groupId>net.sf.jasperreports</groupId> 
     <artifactId>jasperreports</artifactId> 
     <version>6.3.1</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>jackson-databind</artifactId> 
       <groupId>com.fasterxml.jackson.core</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
関連する問題