如何将jar库添加到jar中

问题描述:

我创建了一个使用bluecove库的库。它工作的很好,但是当我把库导出到jar中,并且包含到其他项目中时,它看起来不能找到bluecove类文件。如何将jar库添加到jar中

Exception in thread "main" 
    java.lang.NoClassDefFoundError: javax/bluetooth/LocalDevice 

我觉得有一个关于导出jar与依赖关系的问题。我如何可以将我的java库导出为包含bluecove的jar以及Eclipse?


请解释为什么downvoted这个问题?给出一些理由,让我改善我的问题会很好。

+3

不要这样做。它会破坏数字签名,很可能是第三方API的体现。简单地确保依赖的Jar在运行时类路径上。 – 2013-05-13 09:35:52

+0

按照Andrew的建议,或者如果您确实想要包含库,请参阅[Eclipse Java;导出jar,包含引用库,没有fatjar](http://*.com/questions/528007/eclipse-java-export-jar-include-referenced-libraries-without-fatjar)或使用[Fat Jar插件]( http://fjep.sourceforge.net/) – 2013-05-13 09:36:07

+0

谢谢,但为什么这是一个坏问题?对不起复制我没有发现与谷歌。 – 2013-05-13 09:45:07

如果你想拥有一个包含代码和所有依赖关系的大容器,可以使用Jar Jar Links(https://code.google.com/p/jarjar/)等工具。该工具允许您在单个JAR中重新打包多个JAR。

但我只想引用安德鲁·汤普森: “不要做,那会毁了数字签名&很可能是第三方API的清单只需确保依赖JAR是在运行时类 - 。路径”

如果你使用一个构建文件中像蚂蚁可以使用jar任务给所有的罐子相关性添加到一个我们已经成功地在多个项目完成,但作为Algiz指出,你会遇到与问题一些需要清单文件的罐子。

有办法解决这个问题。