如何使用依赖项jar创建可执行jar

时间:2009-09-29 11:34:44

标签: java

我创建了一个依赖于某些外部jar的java应用程序。现在我想为我的项目创建一个可执行jar。这意味着如果我双击该项目,那么它应该执行。

6 个答案:

答案 0 :(得分:5)

您可以使用Ant轻松完成此操作:

<jar jarfile="MyJar.jar" basedir="bin">
    <manifest>
    <attribute name="Class-Path" value="lib/lib1.jar lib/lib2.jar lib/lib3.jar"/>
    <attribute name="Built-By" value="me"/>
    <attribute name="Main-Class" value="mypackage.Myclass"/>
    </manifest>
</jar>

这会将所有相应的条目添加到Manifest文件中。为了能够运行jar,您还需要创建一个lib文件夹并将所有依赖项放在那里:

myjar.jar
lib/lib1.jar
lib/lib2.jar
lib/lib3.jar

答案 1 :(得分:2)

使用名为“fatjar”的eclipse插件

这是更新网站

http://kurucz-grafika.de/fatjar

只需右键单击项目并使用fatjar选项,下一步就可以选择* .jar中包含哪个库

答案 2 :(得分:1)

您需要将MANIFEST.MF文件添加到您的应用程序的JAR中(在META-INF目录下 - 如果您使用'jar'命令行工具,它将确保文件最终在正确的位置)。它需要包含两个属性(至少):

  • Main-Class:[应用中具有主要方法的类的完全限定名称]
  • Class-Path:[应用程序的JAR依赖项列表]

有关JAR文件中清单文件的更多详细信息,请访问:http://java.sun.com/docs/books/tutorial/deployment/jar/manifestindex.html

如果您使用的是Apache Maven之类的构建工具,您可能会发现它可以为您生成此内容。

答案 3 :(得分:1)

您想在JAR的清单文件中设置Class-Path属性。

This page应该给你一个很好的起点。

答案 4 :(得分:0)

使用诸如IzPack之类的打包工具或JSmooth等包装工具

答案 5 :(得分:0)

如果您使用Maven,汇编插件将非常简单地为您执行此操作:http://maven.apache.org/plugins/maven-assembly-plugin/howto.html

否则,您需要按照JAR文件教程中的说明进行操作:http://java.sun.com/docs/books/tutorial/deployment/jar/index.html并创建包含主要类Main-Class: [classname]的清单文件,并将外部广告单列为Class-Path: theirJar1 theirJar2