创建包含其他库文件的JAR文件

我想创建一个包含其他JAR库的可执行JAR文件。 但是当我执行JAR时,它会给出类路径问题的错误。

如何解决类路径问题?

我想你可以这样试试;

这是一个简单的例子。 首先,我们假设我们有一个项目目录,如D:\javademo 。 在这个工作目录中,我们创建一个主类HelloWorld.java ,thtat包含我们的其他JAR文件,如commons-lang.jar 。 现在,我们必须将主要类HelloWorld和commons-lang.jar归档到test.jar文件中。

首先,我们必须编辑清单文件,以便我们可以像这样指定class-path和main-class:

 Manifest-Version: 1.0 Created-By: tony example Class-Path: test.jar commons-lang.jar Main-Class: org.tony.java.HelloWorld 

我们将此文件命名为test.mf 现在我们使用jar命令生成我们的JAR文件,如下所示:

 jar -cvfm test.jar test.mf -C ./ . 

然后它将生成JAR文件test.jar 。 您可以使用此命令使用java命令运行此主类:

 java -jar test.jar 

这是我的解决方案。 我希望它给你一些有用的东西……

您应该使用第三方库。 例如, OneJar 。 您必须使用OneJar工具(如Ant任务)而不是标准JRE工具来构建最终的JAR文件。

在运行这样的JAR文件时,将启动OneJar的服务类而不是您的服务类。 然后,该类加载包含在内部的JAR文件以及您的类,并运行您的主类。

已有类似的问题和答案。 例如:Stack Overflow问题将发布合并到一个JAR文件中的最简单方法