我已经发现了合并jar文件的不同描述,如Fat-jar。合并Jar文件?
但是我寻找一个更简单的解决方案,就像下面的例子。
罐子-cmvf ../manifest.m ˚FMyJar.jar LIB * /罐
也许有人知道正确的语法两个或更多瓶合并成一个?
它被合并但文件无法执行。
增加类的JAR文件的类路径
您可能需要引用从一个JAR文件中的其他JAR文件的类。
例如,在典型的情况下,applet捆绑在JAR文件中,其JAR文件的清单引用了不同的JAR文件(或多个不同的JAR文件),作为该applet的实用工具。
指定要包含在applet或应用程序的清单文件的Class-Path头字段中的类。在类路径头采用以下形式:
Class-Path: jar1-name jar2-name directory-name/jar3-name
通过在manifest使用Class-Path头,你可以避免调用java运行应用程序时,指定一个长-classpath标志。 注意:Class-Path头指向本地网络上的类或JAR文件,而不是JAR文件中的JAR文件或通过Internet协议访问的类。要将JAR文件中的JAR文件中的类加载到类路径中,您必须编写自定义代码来加载这些类。例如,如果MyJar.jar包含另一个名为MyUtils.jar的JAR文件,则不能在MyJar.jar的清单中使用Class-Path标头将MyUtils.jar中的类加载到类路径中。 示例
我们想要将MyUtils.jar中的类加载到MyJar.jar中使用的类路径中。这两个JAR文件位于同一个目录中。
我们首先创建一个名为Manifest.txt一个文本文件,其内容如下:
Class-Path: MyUtils.jar
警告:文本文件必须以新行或回车符结束。如果最后一行不以新行或回车结束,则不会正确解析。
然后,我们创建一个名为MyJar.jar通过输入以下命令JAR文件:
罐子立方英尺MyJar.jar Manifest.txt MyPackage的/ *类
这将创建一个清单与JAR文件以下内容:现在在MyUtils.jar
Manifest-Version: 1.0
Class-Path: MyUtils.jar
Created-By: 1.7.0_06 (Oracle Corporation)
的类加载到类路径当您运行MyJar.jar。
为什么还打算尝试结合罐子?这将为您实现什么?为什么不相反,只要确保可以使用两个单独的jar文件? –
我试图合并它,因为我不关心带库的文件夹,它们必须与主jar文件位于同一个文件夹中。谢谢 –