web-dev-qa-db-ja.com

itextからのjasperレポートの依存関係エラー

昨日から、iText jarのためにMavenでのコンパイルに問題があります。私のプロジェクトには、itext-1.02b以降に依存するjasperreports-2.0.1の依存関係があります。

<dependency>
    <groupId>com.lowagie</groupId>
    <artifactId>itext</artifactId>
    <version>[1.02b,)</version>
    <scope>compile</scope>
</dependency>

それはmavenのログエラーです。

Failed to collect dependencies for [jasperreports:jasperreports:jar:2.0.1 (compile)]: Failed to read artifact descriptor for com.lowagie:itext:jar:4.2.2: Could not transfer artifact com.itextpdf:itextpdf:pom:4.2.2 from/to jaspersoft (http://www.jasperforge.org/maven2): Access denied to http://www.jasperforge.org/maven2/com/itextpdf/itextpdf/4.2.2/itextpdf-4.2.2.pom. Error code 403, Forbidden -> [Help 1] 

here ジャーなしの4.2.2バージョンについて何かを言っているAmedee Van Gasseからのコメントがあります。

1.02bバージョンが4.2.2に添付されるのはなぜですか?

編集:Jasper-reportsはオープンバージョンの範囲を使用します。

[1.02b、)

この範囲は、ライブラリを最新バージョンにするためにMavenに伝えます。

pdate iTextからjarなしで新しいバージョンのPomを追加し、maven-centralのmaven-metadataをそのjarなしのバージョンに編集すると、最新のcom.lowagieライブラリに依存するすべてのjarへのコンパイルがクラッシュします。

Maven-metadata-central.xml(および会社が独自のnexus.publicを持っている場合は他のメタデータ)を... m2\repository\com\lowagie\itextからローカルに更新します。 iTextがメタデータを更新するか、依存関係を持つすべての企業が最新バージョンに更新されるまで一時的に解決します。

<metadata modelVersion="1.1.0">
  <groupId>com.lowagie</groupId>
  <artifactId>itext</artifactId>
  <versioning>
    <latest>4.2.1</latest>
    <release>4.2.1</release>
    <versions>
      <version>0.99</version>
      <version>1.1.4</version>
      <version>1.02b</version>
      <version>1.2.3</version>
      <version>1.3</version>
      <version>1.3.1</version>
      <version>1.4</version>
      <version>1.4.8</version>
      <version>2.0.1</version>
      <version>2.0.6</version>
      <version>2.0.7</version>
      <version>2.0.8</version>
      <version>2.1.0</version>
      <version>2.1.2</version>
      <version>2.1.3</version>
      <version>2.1.4</version>
      <version>2.1.5</version>
      <version>2.1.7</version>
      <version>4.2.0</version>
      <version>4.2.1</version>
    </versions>
    <lastUpdated>20150709153501</lastUpdated>
  </versioning>
</metadata>
15

もっと簡単な解決策は、jasperreportsの新しいバージョンにアップグレードすることです。バージョン6.1.0には、iTextに対する次の依存関係があります。

<dependency>
    <groupId>com.lowagie</groupId>
    <artifactId>itext</artifactId>
    <version>2.1.7.js2</version>
    <scope>compile</scope>
</dependency>

ITextに対する「フローティング」依存関係はもうありません。これは、jasperreports向けにカスタマイズされたバージョンです。

完全なpom.xmlについては、 http://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports/6.1. を参照してください。

14

同じjasperreportバージョンを維持することにし、conflicts pomでこの変更を行いました。

<dependencies>
    <dependency>
            <groupId>jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>2.0.1</version>
            <exclusions>
                <exclusion>
                    <groupId>com.lowagie</groupId>
                    <artifactId>itext</artifactId>
                </exclusion>
            </exclusions>           
    </dependency>
    <dependency>
        <groupId>com.lowagie</groupId>
        <artifactId>itext</artifactId>
        <version>2.1.7</version>
    </dependency>
...
</dependencies>

編集:dependecyを2.1.7に変更して、将来コンパイルされるようにします

5

JasperReportsは、iTextにいくつかのバグ修正をパッチしました。そのため、pom/gradleファイルにパッチを適用したiText repo [1]を追加する必要があります。

[1] http://jasperreports.sourceforge.net/maven2/

以下は、ジャスパーレポート6.1.1を使用する際の参考のためのgradleスニペットです。 repositories { mavenLocal() mavenCentral() maven { url "http://repo.spring.io/release" } maven { url "http://jaspersoft.artifactoryonline.com/jaspersoft/third-party-ce-artifacts/" } maven { url "http://jasperreports.sourceforge.net/maven2/" } }

3
Kane

私はgradleを使用しており、現在のバージョン_6.8.2次のビルドエラーが発生しました。
> Could not find com.lowagie:itext:2.1.7.js6

そこで、http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/リポジトリとして、今では動作します。

repositories {
    mavenCentral()
    maven { url "http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/" }
}

dependencies {
    compile 'net.sf.jasperreports:jasperreports:6.8.0'
}
1
das Keks

同じ問題があります。これを解決するために、Maven構成のプロキシパラメーターを削除し、maven-metadata-centralの最後のバージョン(リポジトリのフォルダーcom\lowagie\itext内)を変更しました。

悪い解決策ですが、一時的に動作します:/

1
Usul Yo

Maven 2.2.1を使用するときも同じ問題があり、Maven 3.2.3とその機能を使用してプロジェクトを再構築しました。

問題を解決するにはMaven 3を使用する必要がありますが、このバージョンではバグが解決されているようです。

0
Meher