我创建了一个依赖于某些外部jar的java应用程序。现在我想为我的项目创建一个可执行jar。这意味着如果我双击该项目,那么它应该执行。
答案 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'命令行工具,它将确保文件最终在正确的位置)。它需要包含两个属性(至少):
有关JAR文件中清单文件的更多详细信息,请访问:http://java.sun.com/docs/books/tutorial/deployment/jar/manifestindex.html
如果您使用的是Apache Maven之类的构建工具,您可能会发现它可以为您生成此内容。
答案 3 :(得分:1)
您想在JAR的清单文件中设置Class-Path属性。
This page应该给你一个很好的起点。
答案 4 :(得分:0)
答案 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
等