NetBeans — 在一个罐子中部署所有内容

2022-09-03 16:56:17

可能的重复:
将外部库放入 JAR?

我有 NetBeans 6.8,我写了一个类,它有两个库(jar 文件)。构建它,我得到了一个包含我的项目的“dist”文件夹.jar和一个包含两个lib jar文件的“lib”文件夹。

我怎么能把所有这些放在一个jar文件中?(我不使用Maven/Ant或类似的东西。


答案 1

基本问题是当前版本的Java不支持开箱即用的jar。

建议的解决方案是在清单中使用类路径行。jar 中的 MF 文件指向所需的库(允许相对路径),然后将所有文件一起部署,并使用“java -jar your.jar”调用它

如果你真的想要一个“jar-inside-jar”解决方案,我们已经使用一个jar好几年了,但是由于我们的目标JVM与上述解决方案配合得更好,所以已经放弃了它。

http://one-jar.sourceforge.net/

我在Eclipse中的fatjar插件中使用它。我没有任何将它构建到Netbeans中的经验,但是构建成一个蚂蚁脚本很简单,我相信这是NEtbeans使用的。


答案 2

可以在生成.xml文件中创建额外的生成目标。并使用并创建一个大罐子,例如zipfilesetzipgroupfileset

<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>

推荐