将发布合并到一个JAR文件中的最简单方法

是否有工具或脚本可以轻松地将一堆JAR文件合并为一个JAR文件?一个好处是可以轻松设置主文件清单并使之可执行。

具体情况是Java重组文本工具。我想用类似的东西来运行它:

java -jar rst.jar

据我所知,它没有依赖关系,这表明它不应该是一个简单的单文件工具,但是下载的ZIP文件包含许多库。

      0  11-30-07 10:01   jrst-0.8.1/

922 11-30-07 09:53 jrst-0.8.1/jrst.bat

898 11-30-07 09:53 jrst-0.8.1/jrst.sh

2675 11-30-07 09:42 jrst-0.8.1/readmeEN.txt

108821 11-30-07 09:59 jrst-0.8.1/jrst-0.8.1.jar

2675 11-30-07 09:42 jrst-0.8.1/readme.txt

0 11-30-07 10:01 jrst-0.8.1/lib/

81508 11-30-07 09:49 jrst-0.8.1/lib/batik-util-1.6-1.jar

2450757 11-30-07 09:49 jrst-0.8.1/lib/icu4j-2.6.1.jar

559366 11-30-07 09:49 jrst-0.8.1/lib/commons-collections-3.1.jar

83613 11-30-07 09:49 jrst-0.8.1/lib/commons-io-1.3.1.jar

207723 11-30-07 09:49 jrst-0.8.1/lib/commons-lang-2.1.jar

52915 11-30-07 09:49 jrst-0.8.1/lib/commons-logging-1.1.jar

260172 11-30-07 09:49 jrst-0.8.1/lib/commons-primitives-1.0.jar

313898 11-30-07 09:49 jrst-0.8.1/lib/dom4j-1.6.1.jar

1994150 11-30-07 09:49 jrst-0.8.1/lib/fop-0.93-jdk15.jar

55147 11-30-07 09:49 jrst-0.8.1/lib/activation-1.0.2.jar

355030 11-30-07 09:49 jrst-0.8.1/lib/mail-1.3.3.jar

77977 11-30-07 09:49 jrst-0.8.1/lib/servlet-api-2.3.jar

226915 11-30-07 09:49 jrst-0.8.1/lib/jaxen-1.1.1.jar

153253 11-30-07 09:49 jrst-0.8.1/lib/jdom-1.0.jar

50789 11-30-07 09:49 jrst-0.8.1/lib/jewelcli-0.41.jar

324952 11-30-07 09:49 jrst-0.8.1/lib/looks-1.2.2.jar

121070 11-30-07 09:49 jrst-0.8.1/lib/junit-3.8.1.jar

358085 11-30-07 09:49 jrst-0.8.1/lib/log4j-1.2.12.jar

72150 11-30-07 09:49 jrst-0.8.1/lib/logkit-1.0.1.jar

342897 11-30-07 09:49 jrst-0.8.1/lib/lutinwidget-0.9.jar

2160934 11-30-07 09:49 jrst-0.8.1/lib/docbook-xsl-nwalsh-1.71.1.jar

301249 11-30-07 09:49 jrst-0.8.1/lib/xmlgraphics-commons-1.1.jar

68610 11-30-07 09:49 jrst-0.8.1/lib/sdoc-0.5.0-beta.jar

3149655 11-30-07 09:49 jrst-0.8.1/lib/xalan-2.6.0.jar

1010675 11-30-07 09:49 jrst-0.8.1/lib/xercesImpl-2.6.2.jar

194205 11-30-07 09:49 jrst-0.8.1/lib/xml-apis-1.3.02.jar

78440 11-30-07 09:49 jrst-0.8.1/lib/xmlParserAPIs-2.0.2.jar

86249 11-30-07 09:49 jrst-0.8.1/lib/xmlunit-1.1.jar

108874 11-30-07 09:49 jrst-0.8.1/lib/xom-1.0.jar

63966 11-30-07 09:49 jrst-0.8.1/lib/avalon-framework-4.1.3.jar

138228 11-30-07 09:49 jrst-0.8.1/lib/batik-gui-util-1.6-1.jar

216394 11-30-07 09:49 jrst-0.8.1/lib/l2fprod-common-0.1.jar

121689 11-30-07 09:49 jrst-0.8.1/lib/lutinutil-0.26.jar

76687 11-30-07 09:49 jrst-0.8.1/lib/batik-ext-1.6-1.jar

124724 11-30-07 09:49 jrst-0.8.1/lib/xmlParserAPIs-2.6.2.jar

如你所见,不需要手动执行此操作有些可取。

到目前为止,我只尝试了AutoJar和ProGuard,它们都很容易上手。看来JAR文件中的常量池存在一些问题。

显然,jrst有点破损,因此我将对其进行修复。在Maven的 pom.xml文件显然是打破过,所以我必须解决这个问题JRST固定之前......我觉得自己像一个错误磁铁:-)

更新:我从来没有修正这个应用程序,但是我签出了基于胖JAR的Eclipse的“ Runnable JAR导出向导”。我发现这很容易用于部署自己的代码。

其他一些出色的建议对于在非Eclipse环境中进行构建可能会更好,oss可能应该使用Ant进行良好的构建。(到目前为止,Maven只是给我带来了痛苦,但其他人还是喜欢它。)

回答:

Eclipse 3.4 JDT的Runnable JAR导出向导。

在Eclipse 3.5中,已对此进行了扩展。现在,您可以选择要如何处理引用的JAR文件。

以上是 将发布合并到一个JAR文件中的最简单方法 的全部内容, 来源链接: utcz.com/qa/410686.html

回到顶部