【发布时间】:2011-05-17 22:38:17
【问题描述】:
我用java编写了一个应用程序。它使用iText、jXL 和JAI。
如何构建一个包含所有这些库的 jar?还是我必须强制用户也安装这些?
【问题讨论】:
标签: java distribution itext
我用java编写了一个应用程序。它使用iText、jXL 和JAI。
如何构建一个包含所有这些库的 jar?还是我必须强制用户也安装这些?
【问题讨论】:
标签: java distribution itext
感谢所有解决方案!
Fatjar 是一个很棒的 Eclipse 插件,它也可以完成所有这些工作(:
【讨论】:
您可以使用jarjar 之类的实用程序将您的类和其他库合并到一个可部署的文件中。
【讨论】:
当您处理外部库时,您应该看看 Maven。这个工具是一个像 Ant 这样的构建器,但它能够自动处理库依赖关系。使用此构建器,您既可以将项目的依赖项嵌入到 jar 中,也允许用户在自己的计算机上构建它,而无需手动下载库依赖项。
这是该项目的网站:http://maven.apache.org/
您可以在哪里找到快速操作方法:http://maven.apache.org/users/index.html
最后是电子书更进一步:http://maven.apache.org/articles.html
【讨论】:
要么将 jar 解压到你的 jar 中,要么通过 meta-inf 中的 Class-Path 属性将它们添加到 jar 类路径中,然后将这些库与你的主 jar 一起分发。示例 META_INF/Manifest.mf:
Manifest-Version: 1.0
Class-Path: itext.jar jxl.jar jai.jar
Main-Class: com.xxx.yyy.Main
【讨论】:
在使用 Ant 构建项目时,您可以将所有 jar 打包为一个。如果您使用 NetBeans,This page 描述了如何修改 NetBeans 的构建脚本来为您完成。
【讨论】: