0

当我清理和构建时,Netbeans 为我的 Java 项目生成一个 .jar 文件,它使用一个“lib”文件夹,其中包含我使用的所有外部 Jar 文件。我可以以某种方式告诉 Netbeans 将这些 Jar 文件打包到它制作的 .jar 中吗?这样我就可以将我的项目作为独立的 .jar 文件运行?

我在 Mac OSX 上使用 Netbeans 7.1.1

4

2 回答 2

1

简短的答案是否定的,长答案很复杂。

首先,Java 不支持嵌入式 Jar(即,您不能简单地将依赖的 Jar 添加到主 Jar 中)。

其次,解压缩所有 Jar 并将它们合并为一个将覆盖任何共享相同路径/名称的资源/类。这在小型项目中可能不是问题,但在大型项目中是一个主要问题(我们在工作中从事的项目存在这个问题)。

一种解决方案是使用类似One-Jar 的东西,它基本上使用它自己的引导类加载器来向所有你引用嵌入在单个 Jar 中的 Jars。

我在使用我们自己的自定义类加载器时遇到了这个问题,但除此之外它似乎运行良好。

它包含 Ant 支持,因此您可以将它包含在您的项目 Ant 构建脚本中,如果您不使用 Maven,否则,您需要设计自己的构建过程

于 2012-10-27T00:49:48.490 回答
0

netbeans 中没有选项可以做到这一点。

还有一些其他选项可以快速搜索,但需要手动干预。

于 2012-10-27T00:41:00.727 回答