2011-11-26 69 views
2

我有一个Java项目在Eclipse中具有封装主要方法类MainClass一个Java项目:如何使用Ant构建一个分发的JAR具有外部依赖的JAR

com.nik.mypackage. 

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

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

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

c:>java -jar MyProject-20111126.jar 

我知道这直接导出一个Java应用程序运行的JAR Eclipse插件。但我想学习ant和构建过程,所以手动要创建build.xm。

回答

5

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

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

+0

如果我想将可分发给其他机器中的其他用户,该怎么办。在那种情况下,清单文件中ClassPath条目的选项将如何工作?而对于第一种情况,取消图书馆罐和萌芽的内容 - 不能自动做到这一点? – Nik

+0

你可以在ant中做unjar/rejar,但是没有股票任务可以做。你会使用jar任务。至于离开罐子分开它可以很好地为其他用户工作。类路径相对于清单所在的jar文件。您可以使用Surasuin建议的结构,并且可以使用lib/onijar和lib/two.jar的my.jar清单中的类路径。 –

1

一个替代方案:

而是只有一个罐子,你建立多发罐子(你的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/

相关问题