Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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 如何将多个罐子组合成一个?_Java_Eclipse_Netbeans_Jar_Applet - Fatal编程技术网

Java 如何将多个罐子组合成一个?

Java 如何将多个罐子组合成一个?,java,eclipse,netbeans,jar,applet,Java,Eclipse,Netbeans,Jar,Applet,我读了太多关于这方面的文章/解释,花了太多时间,但一切要么太宽泛,要么太具体 这个问题实际上只适用于我制作的小程序。它包含一个类,并需要另外两个Jar库。我已经在项目中包含了这些内容(多个项目,因为我在Netbeans和Eclipse中尝试过……很容易重新创建一个类项目)。所有这些的要点是,我的HTML/web项目不必处理多个Jar或引用它们。这也不是一个复杂的小程序/项目 最初,我是用Netbeans制作的。它有一个主包,在添加了2个jar之后,它们被放在一个“Libraries”区域(“re

我读了太多关于这方面的文章/解释,花了太多时间,但一切要么太宽泛,要么太具体

这个问题实际上只适用于我制作的小程序。它包含一个类,并需要另外两个Jar库。我已经在项目中包含了这些内容(多个项目,因为我在Netbeans和Eclipse中尝试过……很容易重新创建一个类项目)。所有这些的要点是,我的HTML/web项目不必处理多个Jar或引用它们。这也不是一个复杂的小程序/项目

最初,我是用Netbeans制作的。它有一个主包,在添加了2个jar之后,它们被放在一个“Libraries”区域(“resources”文件夹)中。构建之后,Netbeans为我的一个包/类创建一个Jar,然后将另外两个库放在它旁边的“lib”目录中。我想把它们放在一个可分配的罐子里。从我看过的许多内容来看,我尝试将以下内容放入build.xml中:

<target name="YourBigJar" depends="-post-jar">
  <jar destfile="dist/BigJar.jar">
    <zipfileset src="dist/cxapplet.jar"/>
    <zipfileset src="resources/dpotapi.jar"/>
    <zipfileset src="resources/dpotjni.jar"/>
  </jar>
</target>

这很好,因为它允许我们使用我们的代码签名证书来自动签名。

从您的bin目录的底部,为什么不试试:

jar.exe -cvf cxapplet.jar *
将外部jar文件放在
bin
目录中的适当位置,并手动将类文件与外部jar文件进行jar


或者,看看哪一个可以为您提供更多信息。

首先,我要说的是,没有理由将jar组合在一起-您可以使用类文件(而不是jar)及其独立的依赖jar部署小程序

然而,如果您觉得必须从类及其所有依赖项中创建一个大jar,那么您可以这样做

您不能将jar文件放入另一个jar文件中,但是-jar文件不是这样工作的。 您需要的是提取所有jar文件的所有内容,然后再次压缩到一个jar中

如果要这样做,我建议使用构建工具。 使用Maven设置构建之后,您可以将配置为为为您构建一个大jar


我知道Eclipse支持Maven,我认为NetBeans也支持它。

“这一切的关键是我的HTML/web项目不必处理多个Jar”为了让浏览器能够处理它,这样做很简单。“有什么想法吗?”以通常的方式部署jar(这比您当前的策略有优势)&节省您的时间。最好是建立一个jar到另一个jar的依赖关系。许多jar制作工具使您的工作变得简单。@joeyrohan我不确定您的意思,但这就是为什么我尝试使用Netbeans和Eclipse的构建工具,我认为它们可以做到这一点,要做到这一点,@AndrewThompson所以我提出这个问题的主要原因是因为我在JAR上签名时遇到困难,浏览器也无法识别这个问题。我知道,第一步应该是识别签名的问题,但是如果我提取并查看Jar中的所有内容,看起来都很好,所以我有点担心多个Jar。不确定这是否是真正的原因,但我认为如果我结合起来,它可以组织得更好,可能会起作用everything@Ian我说的不是IDE,而是jar制作工具google itSorry,我知道简单地组合jar是行不通的,根据您提供的理由。所以我想我的重点是希望得到一个简单的代码/工作/逻辑示例,解释如何在您选择的场景中实现我想要的东西-Eclipse、Netbeans、Maven等等。因此,正如您建议使用Maven,我不知道您是否可以提供一些步骤来实现这一点。我将查看第二个链接(因为我已经安装了Maven,并且正在另一个项目中使用它,尽管我不是管理它的人)。所以谢谢:)“为什么不试试”——因为我没有想到:)我从来没有想过,我也不知道如何有效地使用jar工具,也不知道如何在垃圾箱上使用它。另外,
bin
目录中唯一的东西是我的主类的编译代码(通过它的包),那么我如何在
lib
目录(在
bin
旁边)中包含两个外部jar,并将它们与
bin
目录的内容提取/组合?(我这样做是因为我想起了大约4个月前我试过的东西).在构建项目后,只需将lib dir复制到build dir中即可。另外,请参阅我编辑的答案。天啊,我不知道为什么我不这么做。因此,当我尝试时,它确实将它们组合在一起,但它只是将两个外部Jar放入新Jar的根中……但似乎我真正需要的是从外部Jar中提取所有内容然后将它们全部压缩到一起。这有意义吗?Netbeans实际上做的事情与您提供的相同,只是还将它们添加到清单文件中的类路径中,以便它们可以识别(或以任何方式工作)。
jar.exe -cvf cxapplet.jar *