2012-12-26 18 views
6

私はiTextの初心者です。これはこのライブラリを使用した私の最初のプロジェクトです。iTextとorg.bouncycastle.asn1.ASN1Primitiveが見つかりません

私はそれの上に、本質的に大きなテーブルを持つPDFを構築していて、コンパイル時に、私はこのClass Not Foundエラーを取得しています:org.bouncycastle.asn1.ASN1Primitiveためクラスファイルは

が見つかりません

私は基本的な機能しか使用していないので、PDF署名機能に触れていないので、私は混乱しています。エラーを修正するにはどうすればよいですか?

私が使用している

  • JDK 1.7
  • iTextのbcmail-jdk15-146.jar提供5.3.5
  • extrajars 2.2(、bcprov-jdk15-146.jarとbctsp-をjdk15-146.jar)

私はこれらの輸入品で、1クラス内のiTextを使用して:

import com.itextpdf.text.BadElementException; 
import com.itextpdf.text.BaseColor; 
import com.itextpdf.text.Chunk; 
import com.itextpdf.text.Document; 
import com.itextpdf.text.DocumentException; 
import com.itextpdf.text.Font; 
import com.itextpdf.text.Image; 
import com.itextpdf.text.Paragraph; 
import com.itextpdf.text.Phrase; 
import com.itextpdf.text.Rectangle; 
import com.itextpdf.text.pdf.PdfPCell; 
import com.itextpdf.text.pdf.PdfPTable; 
import com.itextpdf.text.pdf.PdfWriter; 

もし私がNetBeansの中でプロジェクトを実行すると、それがコンパイルされてうまく動作することを明確にしたいと思います。以来(

<target name="single_jar" depends="jar"> 

    <property name="store.jar.name" value="Final"/> 

    <property name="store.dir" value="store"/> 
    <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/> 

    <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/> 

    <delete dir="${store.dir}"/> 
    <mkdir dir="${store.dir}"/> 

    <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip"> 
     <zipgroupfileset dir="dist" includes="*.jar"/> 
     <zipgroupfileset dir="dist/lib" includes="*.jar"/> 

     <manifest> 
      <attribute name="Main-Class" value="${main.class}"/> 
     </manifest> 
    </jar> 

    <zip destfile="${store.jar}"> 
     <zipfileset src="${store.dir}/temp_final.jar" 
     excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/> 
    </zip> 

    <delete file="${store.dir}/temp_final.jar"/> 

</target> 
+0

現在のiTextのバージョン(例えば5.3.5):

<dependency> <groupId>com.itextpdf.tool</groupId> <artifactId>xmlworker</artifactId> <version>5.5.0</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.0</version> </dependency> 

私は明示的に新しいはBouncyCastleアーティファクトを含めるために必要な。依存関係を更新してください。 – mkl

+0

iTextプロジェクトの最新のextrajarsパッケージに用意されているjarファイルを使用しました。私は1.47を試し、結果を返信します。 – phrfpeixoto

+0

こんにちは、あなたの言うとおりに働いた。どうもありがとうございます。私はそれを正しいとマークすることができるので、答えを投稿してください。 – phrfpeixoto

答えて

10

現在のiTextのバージョンを:私は(DIST/libが含まれている)

これはエラーが表示されたbuild.xmlのターゲットである単一の実行可能jarファイルにそれをコンパイルしようとするとエラーが表示されます。 5.3.0)はBouncyCastle 1.47を使用しますが、あなたは1.46を提供します。それは小さなステップのように見えますが、これらのBCバージョン間には大きな変更があります。いずれの賢明なバージョン管理でも2.0と呼ばれていました。

依存関係を更新してください。

+0

iText 5.3.5で提供されているextrajars-2.2パッケージには動作しないBCバージョン1.46が含まれていることに注意してください。 – phrfpeixoto

+0

依存関係に関する助言として... iTextが作成されました。依存関係に関する情報が必要な場合は、そのpom.xmlを調べてください。プロジェクトでmavenも使用されている場合、正しい依存関係が自動的に使用されます。 – mkl

+1

BTW、現在(iText 5.4.1現在)BC 1.48が使用中です。したがって、あなたのiTextバージョンに必要なBCバージョンを常にチェックしてください。 – mkl

3

に応じたとき、私はjava.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Primitiveを得ていた:はBouncyCastle 1.47使用しますが、あなたは1.46を提供

<dependency> 
     <groupId>org.bouncycastle</groupId> 
     <artifactId>bcprov-jdk15on</artifactId> 
     <version>1.50</version> 
    </dependency> 
    <dependency> 
     <groupId>org.bouncycastle</groupId> 
     <artifactId>bcpkix-jdk15on</artifactId> 
     <version>1.50</version> 
    </dependency>   
    <dependency>      
     <groupId>com.itextpdf.tool</groupId> 
     <artifactId>xmlworker</artifactId> 
     <version>5.5.0</version> 
    </dependency> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>itextpdf</artifactId> 
     <version>5.5.0</version> 
    </dependency> 
関連する問題