Apache Ant添加外部Jars的问题



我可以在编译时运行,但当我尝试jar时,它总是会给我这个错误。我不太确定我做错了什么。

Exception in thread "Thread-3" java.lang.NoClassDefFoundError: org/bouncycastle/openpgp/operator/KeyFingerPrintCalculator

这就是我的清单看起来像

Main-Class: com.Program
Class-Path: extlib/bcpg-jdk14-156.jar extlib/bcprov-jdk14-156.jar extlib/commons-io-2.5.jar

这是我的build.xml

<manifestclasspath property="jar.classpath" jarfile="Program.jar">
 <classpath>
    <fileset dir = "./${extlib}" includes="**/*.jar"/>
 </classpath>
</manifestclasspath>

这是jar代码

 <jar jarfile="${dist}/Program.jar" basedir="${build}">
    <manifest>
       <attribute name="Main-Class" value="com.Program"/>
       <attribute name="Class-Path" value="${jar.classpath}"/>
    </manifest>
 </jar>

这就是我的文件结构的样子

Program.jar
extlibbcpg-jdk14-156.jar
extlibbcprov-jdk14-156.jar
extlibcommons-io-2.5.jar

如果能帮我忙两天,我将不胜感激。如果你需要更多信息,请告诉我。

这对我很有效:

  • 取消对jar文件的签名似乎有效。

  • 打开bouncycastle jar文件,删除META-INF文件夹,然后重新jar并为PrintProcessor重新运行ant jar。

祝你好运!-Ethan

最新更新