当前位置: 首页 > 知识库问答 >
问题:

将带有弹力城堡库的罐子包装成单个罐子

卢伟志
2023-03-14

我制作了自己的包装类,我希望那些使用我编译的JAR文件的人都能使用这些包装类。

这个jar文件还包含一个lib文件夹,它还有bouncy castle库,因为包装器的目的是让调用者更容易。现在我的库(名为mylibrary.jar)已经构建完成。

现在,当我将这个jar作为库包含在另一个项目中时,我看到以下错误

线程“AWT-EventQueue-0”java.lang.NoClassDefoundError中出现异常:org/BouncyCastle/Operator/OperatorCreationException

我检查了mylibrary.jar文件,发现里面还有一个Lib文件夹,所有的bouncy castle库都在那里,为什么我还看到这个错误呢?我的库jar有这些结构文件夹

我对使用手动zip和unzip jar并添加这些库不感兴趣,我正在寻找一些我将在NetBeans上设置的东西,它将生成jar文件以及依赖的bouncy castle库。

共有1个答案

缪远航
2023-03-14

好吧,我找到了,我需要添加如下构建属性,以便有一个自动构建单一库

 <target name="-post-jar">
    <jar jarfile="dist/PKIFrapper.jar" >
    <zipfileset src="${dist.jar}" excludes="META-INF/*" />
    <zipfileset src="src/lib/bcmail-jdk15on-155.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/bcpg-jdk15on-155.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/bcpkix-jdk15on-155.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/bcprov-ext-jdk15on-155.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/bcprov-jdk15on-155.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/bctest-jdk15on-155.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/commons-codec-1.10-javadoc.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/commons-codec-1.10-sources.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/commons-codec-1.10.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/log4j-1.2-api-2.3-javadoc.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/log4j-1.2-api-2.3-sources.jar" excludes="META-INF/*" />
    <zipfileset src="src/lib/log4j-1.2-api-2.3.jar" excludes="META-INF/*" />

    <manifest>

        <attribute name="Main-Class" value="MyLibrary.*"/>
    </manifest>
    </jar>
</target>
 类似资料:
  • 我正在处理一个包含多个子项目的项目,它们都使用我创建的用于哈希、签名和加密消息的实用程序库。这个库基本上是bouncy Castle的包装器。 当我运行与库相关联的测试时,一切都通过了,一切都好了。当我将实用程序库打包到jar中时,会发生两件事: 正在使用库的子项目找不到与bouncy Castle关联的JAR。 即使将bouncy castle JAR添加到正在使用库的子项目中,项目也找不到bo

  • 任何建议都会有帮助的!谢了!

  • 问题内容: 我正在尝试创建包装另一个jar的OSGi服务。我将jar添加到项目,类路径和二进制构建中。我在Activator中注册了该服务,但是当消费包调用该服务时,我在包装jar上得到了java.lang.NoClassDefFoundError。有人知道我在做什么错吗? 提前致谢。 问题答案: 您是否正在导出使用者所需的软件包以及实施所需的所有软件包。消费者将需要导入将被引用的所有内容。 附带

  • 在过去的6个月里,我一直在从repl运行我的Clojure应用程序。 也就是说,每当我想运行应用程序时,我都会加载一个clojure repl,然后输入:(加载文件“src/run.clj”)。。。它运行我的应用程序。 然后,clojure加载了我所有的*。clj文件,编译并运行。 我最近换了莱恩。我想“提前编译/打包”我的代码,这样我就可以得到一个带有Main方法的jar,并通过“java…”直

  • Ladar Levison编写了ecies_encrypt和ecies_decrypt C函数。这些功能与ECIES弹力城堡兼容吗?如果不是,有没有人知道要修复什么或者ecies的另一个C实现?

  • 我试图使用以下命令,但它说我需要导入org.apache.hadoop.lib.input.FileSplit。我试图在网上谷歌搜索,但仍然不知道我应该导入哪个罐子。我已经导入的jar是commons-cli-1.2.jar,hadoop-common-2.8.0.jar和hadoop-mapreduce-clienr-core-2.8.0.jar。 在此处输入图像描述 任何帮助都将不胜感激! 谢