Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将jar库添加到jar中_Java_Eclipse_Jar_Export - Fatal编程技术网

Java 如何将jar库添加到jar中

Java 如何将jar库添加到jar中,java,eclipse,jar,export,Java,Eclipse,Jar,Export,我创建了一个使用bluecove库的库。它工作得很好,但是当我将库导出到jar中,并包含到另一个项目中时,它似乎找不到bluecove类文件 Exception in thread "main" java.lang.NoClassDefFoundError: javax/bluetooth/LocalDevice 我认为导出带有依赖项的jar会有问题。如何将java库导出为jar,包括Eclipse中的bluecove 请解释为什么否决了这个问题?如果能给出一些理由,让我改进我的问

我创建了一个使用bluecove库的库。它工作得很好,但是当我将库导出到jar中,并包含到另一个项目中时,它似乎找不到bluecove类文件

Exception in thread "main" 
    java.lang.NoClassDefFoundError: javax/bluetooth/LocalDevice
我认为导出带有依赖项的jar会有问题。如何将java库导出为jar,包括Eclipse中的bluecove



请解释为什么否决了这个问题?如果能给出一些理由,让我改进我的问题,那就太好了

如果您想拥有一个包含代码和所有依赖项的大jar,可以使用jar Links()之类的工具。此工具允许您在单个JAR中重新打包多个JAR

但我只想引用安德鲁·汤普森的话:
“不要这样做。它会破坏数字签名&很可能是第三方API的清单。只需确保依赖Jar位于运行时类路径上即可”

如果您使用像ant这样的构建文件,您可以使用jar任务将您所有的jar依赖项添加到一个我们已经在许多项目上成功完成的jar依赖项中,但正如Algiz指出的,您将遇到一些需要其清单文件的jar问题


有办法解决这个问题。

不要那样做。它将破坏数字签名&很可能是第三方API的清单。只需确保依赖Jar位于运行时类路径上即可。按照Andrew的建议执行,或者如果您真的想包含库,请查看或使用“您应该使用分离Jar并将其包含在类路径中”。查看eclipse的胖Jar插件。它可以帮助你实现你想要的,谢谢你,但是为什么这是一个糟糕的问题呢?对不起,我没有在谷歌上找到。