如何使用Ant为具有外部jar依赖性的java项目构建可分发jar

时间:2011-11-26 07:42:49

标签: java ant build jar

我在Eclipse中有一个Java项目,类MainClass包含main方法:

com.nik.mypackage. 

该项目还引用了两个外部库,我将其复制到Eclipse中的lib文件夹中,然后使用ADD JAR函数添加到构建路径中。这些库是one.jartwo.jar

此库位于eclipse中的lib文件夹中,并添加到构建路径中。

我想使用ant脚本创建应用程序的可执行文件JAR。这样用户就可以使用命令访问我的应用程序:

c:>java -jar MyProject-20111126.jar

我知道Eclipse插件直接将java应用程序导出为runnable JAR。但我想学习ant和构建过程,因此需要手动创建build.xm。

3 个答案:

答案 0 :(得分:5)

您的build.xml有两个选项。您可以解开库jar,然后将其内容与为您的应用程序编译的代码捆绑在一起。或者,您可以将库jar放在文件系统上,并在MyProject-2011126.jar文件的清单文件中提供ClassPath条目。

如果在清单中设置类路径,请记住您提供的路径是相对于MyProject-2011126.jar的。

答案 1 :(得分:1)

一种选择:

不是只有一个jar,而是构建多个jar(你的jar + libs)+批处理文件。

因此,您构建的包可以像这样的结构:

  -/package/bin/app.bat
   /package/lib/my.jar
   /package/lib/one.jar
   /package/lib/two.jar

在app.bat中,您只需拥有与代码相同的内容

java -jar MyProject-20111126.jar

PS:如果你想开始学习构建的工具,ANT可能有点老了。我建议http://maven.apache.org/

答案 2 :(得分:0)

请尝试one-jar。它有助于重新分配打包为单个jar的所有内容,并附带ant-task。见Easiest way to merge a release into one JAR file