创建一个包含其他库文件的JAR文件
我想你可以尝试这样;
这是一个简单的例子,为你提问。首先,我们假设我们有一个项目目录,如D:\javademo
。在这个工作目录中,我们创建一个主类HelloWorld.java并且thtat包含我们的其他JAR文件,如commons-lang.jar
。现在,我们必须将我们的主要类HelloWorld和commons-lang.jar归档到test.jar文件中。
首先,我们必须修改我们的清单文件,使我们可以像这样指定我们的类路径和主类 :
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
这是我的解决方案。我希望它给你一些有用的东西......
非常感谢,我很困惑如何添加库依赖到jar文件 – 2017-12-02 11:43:31
您应该为它使用第三方库。例如,OneJar。您必须使用OneJar工具(如Ant任务)而不是标准JRE的工具构建最终的JAR文件。
在运行这样一个JAR文件时,将启动OneJar的服务类而不是您的。这个类然后加载包装在里面的JAR文件,以及你的类,并运行你的主类。
还有类似的问题和答案。例如:堆栈溢出问题Easiest way to merge a release into one JAR file。
我试过的东西,但没有工作。 – 2012-01-17 07:16:40
你什么时候试过的? – 2012-01-17 07:46:51
我在发布之前曾尝试过很多次,但仍无法正常工作。 – 2012-01-17 08:39:11
*“我想创建一个包含其他jar库的可执行Jar”*你想要什么不比重要的东西重要。多次使用[JWS](http://stackoverflow.com/tags/java-web-start/info)或其他类型的安装程序部署多个Jars已被证明可以很好地运行。 – 2012-01-17 07:45:08
重复的问题http://stackoverflow.com/questions/5424761/java-packaging-building-common-techniques-jar-file-specifically/5424847#5424847 – 2012-01-17 08:29:47