Java Netbeans生成.jar文件

Java Netbeans生成.jar文件,java,netbeans,jar,Java,Netbeans,Jar,当我清理和构建时,Netbeans为我的Java项目生成一个.jar文件,它使用一个“lib”文件夹,其中包含我使用的所有外部jar文件。我是否可以告诉Netbeans将这些Jar文件打包到它生成的.Jar中?这样我就可以作为一个独立的.jar文件运行我的项目了 我正在Mac OSX上使用Netbeans 7.1.1,Netbeans中没有选项可以这样做 还有一些其他选项,快速搜索会有所帮助,但需要手动干预。简短的答案是否定的,长的答案很复杂 首先,Java不支持嵌入式Jar(即,不能简单地将依

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


我正在Mac OSX上使用Netbeans 7.1.1,Netbeans中没有选项可以这样做


还有一些其他选项,快速搜索会有所帮助,但需要手动干预。

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

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

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

一种解决方案是使用类似的东西,它基本上使用它自己的引导类加载程序来引用嵌入在单个Jar中的Jar

在使用我们自己的自定义类加载器时,我遇到了一些问题,但在其他方面,它似乎工作得很好


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

,那么.jar文件如何知道从何处获取正确的驱动程序呢?在.jar文件之外是否必须有一个“lib”文件夹?在主jar的清单文件中有一个类路径属性,类加载器使用它来查找依赖类。查看更多详细信息