Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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 在Eclipse中的jar中包含一个jar?(不使JAR可运行)_Java_Eclipse_Jar_Classpath_Manifest - Fatal编程技术网

Java 在Eclipse中的jar中包含一个jar?(不使JAR可运行)

Java 在Eclipse中的jar中包含一个jar?(不使JAR可运行),java,eclipse,jar,classpath,manifest,Java,Eclipse,Jar,Classpath,Manifest,嗨,我发现自己在代码中引用了我不久前制作的JAR存档。但是我制作的JAR引用了jsoupjar文件,我刚刚发现它并没有像我假设的那样自动添加(愚蠢的假设)。因此,在查看了堆栈溢出之后,通过简单地向自定义清单添加一些类路径信息,我似乎可以解决我的问题……但当我尝试从另一个项目引用我的JAR时,仍然会出现ClassDef错误 Manifest-Version: 1.0 Class-Path: "C:\Users\ethan\Documents\ACTUAL My Documents\Librarie

嗨,我发现自己在代码中引用了我不久前制作的JAR存档。但是我制作的JAR引用了jsoupjar文件,我刚刚发现它并没有像我假设的那样自动添加(愚蠢的假设)。因此,在查看了堆栈溢出之后,通过简单地向自定义清单添加一些类路径信息,我似乎可以解决我的问题……但当我尝试从另一个项目引用我的JAR时,仍然会出现ClassDef错误

Manifest-Version: 1.0
Class-Path: "C:\Users\ethan\Documents\ACTUAL My Documents\Libraries\Java Libraries\jsoup\jsoup-                1.6.3.jar"
所以我不确定我是否写错了舱单。(我试过引用和不引用,都不起作用)。我没有任何编写清单的经验,我的知识来自stackoverflow上的这篇文章

来自麦克道尔的帖子


我看到很多帖子建议使用Maven或第三方应用程序。但似乎应该有更简单的方法在Eclipse中实现这一点,而无需安装任何新的东西(因为这通常会带来新的麻烦)。

清单中的类路径仅在运行可执行jar时使用。它不会用于用作库的jar文件。你也必须告诉你的JAR主文件

我的主JAR文件是什么意思?或者您的Eclipse项目类路径,或者使用该库JAR文件的任何东西。该库的任何依赖项都不会自动从清单条目中提取。哦,问题是,这对我来说是可行的。但我希望能够分发我为其他人编写的这个库。而且我并不想包含这样的指令,即无论何时使用Jsoup,都必须包含Jsoup……然后重新打包所有依赖项。与生成可运行jar文件的过程相同。Eclipse可以做到这一点。但是,我不得不问为什么:如果您分发一个库,那么您正在分发给开发人员。他们将知道如何包含它们(您甚至可以将它们捆绑到zip下载中,就像每个开源项目一样,它们有一个“lib”文件夹)。如果你分发给最终用户,制作一个包含所有依赖项的可运行jar。对不起,我以前从未深入研究过这种事情。如何重新打包Eclipse中的所有依赖项?我的一位教授正在考虑在他的一门课程中使用图书馆,这是一门入门级课程。而且这看起来更麻烦…我喜欢尝试让事情尽可能简单=D