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

时间:2012-01-17 06:56:38

标签: jar classpath executable java

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

如何解决类路径问题?

2 个答案:

答案 0 :(得分:9)

我想你可以这样试试;

这是一个简单的例子。首先,我们假设我们有一个项目目录,如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

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

答案 1 :(得分:-1)

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

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

已经有类似的问题和答案。例如:Stack Overflow问题 Easiest way to merge a release into one JAR file