NetBeans — 在一个罐子中部署所有内容
可能的重复:
将外部库放入 JAR?
我有 NetBeans 6.8,我写了一个类,它有两个库(jar 文件)。构建它,我得到了一个包含我的项目的“dist”文件夹.jar和一个包含两个lib jar文件的“lib”文件夹。
我怎么能把所有这些放在一个jar文件中?(我不使用Maven/Ant或类似的东西。
可能的重复:
将外部库放入 JAR?
我有 NetBeans 6.8,我写了一个类,它有两个库(jar 文件)。构建它,我得到了一个包含我的项目的“dist”文件夹.jar和一个包含两个lib jar文件的“lib”文件夹。
我怎么能把所有这些放在一个jar文件中?(我不使用Maven/Ant或类似的东西。
基本问题是当前版本的Java不支持开箱即用的jar。
建议的解决方案是在清单中使用类路径行。jar 中的 MF 文件指向所需的库(允许相对路径),然后将所有文件一起部署,并使用“java -jar your.jar”调用它
如果你真的想要一个“jar-inside-jar”解决方案,我们已经使用一个jar好几年了,但是由于我们的目标JVM与上述解决方案配合得更好,所以已经放弃了它。
http://one-jar.sourceforge.net/
我在Eclipse中的fatjar插件中使用它。我没有任何将它构建到Netbeans中的经验,但是构建成一个蚂蚁脚本很简单,我相信这是NEtbeans使用的。
可以在生成.xml文件中创建额外的生成目标。并使用并创建一个大罐子,例如zipfileset
zipgroupfileset
<target name="YourBigJar" depends="-post-jar">
<jar destfile="BigJar.jar">
<zipfileset src="dist/Project1.jar"/>
<zipfileset src="../OtherProject/dist/project2.jar"/>
<zipgroupfileset dir="../libs/."/>
</jar>
</target>