iText的和org.bouncycastle.asn1.ASN1Primitive未找到(iTex

2019-07-17 14:33发布

我在iText的一个新手。 这是使用这个库我的第一个项目。

我就可以建立一个PDF文件使用基本上是一个大表,并在编译时,我得到这个找不到类错误:org.bouncycastle.asn1.ASN1Primitive类文件未找到

我很困惑,因为我只使用基本功能,甚至没有触及PDF签名功能。 我应该怎么做来解决这个错误吗?

我正在使用:

  • JDK 1.7
  • iText的5.3.5
  • extrajars 2.2(其提供bcmail-jdk15-146.jar,bcprov-jdk15-146.jar和bctsp-jdk15-146.jar)

我只使用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项目,它编译和运行就好了。 当我尝试将其编译到一个单独的可执行的jar文件(其包括DIST / IIb)的出现的错误

这就是目标的build.xml出现错误的位置:

<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>

Answer 1:

目前iText的版本(5.3.0以来)使用BouncyCastle的1.47,但你提供1.46; 尽管这看起来像是一小步,还有那些BC版本之间重大的变化; 任何明智的版本管理就可以把它叫做2.0。

请更新的依赖。



Answer 2:

我正在java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Primitive视时:

    <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的文物:

    <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>


文章来源: iText and org.bouncycastle.asn1.ASN1Primitive not found