我有一个项目,在几个目录中有几个第三方JAR文件。目前,该项目使用一些ant技巧以递归方式将所有jar文件包含到类路径中。我想为另一个站点构建一个部署,其中包括JAR将我自己的代码放入一个文件中,并以某种方式包括我需要的其他JAR。 Oracle claims命令行上的通配符不会递归地包含jar。我希望部署在Windows或Linux中运行。
似乎我有以下选择:
有没有人知道更简单的方法?我现在倾向于选择#1。
答案 0 :(得分:2)
我会选择#2。构建发行版时,将所有jar复制到“lib”目录,然后使用通配符将它们全部包含在内。在做这样的事情时,我从来不知道第三方图书馆要打破。 使用ant应该没有太多的技巧:使用copy with flatten =“true”并包含指示要递归的目录/ jar的文件集。
答案 1 :(得分:0)
选项4:目标是使用
简化应用程序的启动java -jar your.jar
主类和类路径在MANIFEST.MF
的{{1}}中设置。使用ant在构建时创建类路径。这可能是一个大的,丑陋的,嵌套的树或your.jar
中一个又大又丑的扁平树。
答案 2 :(得分:0)
您可以使用JarJar并将所有内容放在一个JAR文件中。您需要验证第三方许可和分发条款,以确保您可以重新打包其库。