如何使用Ant为具有外部jar依赖性的java项目构建可分发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。

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

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

一种选择:

您可以构建多个jar(jar + libs)+批处理文件,而不是只使用jar。

所以,你构建的包可以像这样的结构:

  -/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/

请尝试一个jar子 。 它有助于重新分配打包为单个jar的所有内容,并附带ant-task 。 请参阅将发布合并到一个JAR文件的最简单方法 。