我创建了一个使用bluecove库的库。它运行良好,但是当我将库导出到jar中,并包含到另一个项目中时,它看起来无法找到bluecove类文件。
Exception in thread "main"
java.lang.NoClassDefFoundError: javax/bluetooth/LocalDevice
我认为使用依赖项导出jar有一个问题。如何在Eclipse中将我的java库导出为jar包括bluecove?
请解释为什么贬低这个问题?给出一些理由让我改进我的问题会很棒。
答案 0 :(得分:2)
如果你想拥有一个包含代码和所有依赖项的大jar,你可以使用Jar Jar Links(https://code.google.com/p/jarjar/)等工具。此工具允许您在单个JAR中重新打包多个JAR。
但我只想引用安德鲁汤普森: “不要这样做。它会破坏数字签名,很可能是第三方API的清单。只需确保依赖的Jar在运行时类路径上”
答案 1 :(得分:0)
如果您使用像ant这样的构建文件,您可以使用jar任务将所有jars依赖项添加到我们已在多个项目中成功完成的项目中,但正如Algiz指出的那样,您将遇到一些需要的jar问题他们的清单文件。
有很多方法可以解决这个问题。