提取和打包库到jar文件之间的区别

我想知道从Eclipse中提取和打包库到jar文件与创build可运行jar文件之间的区别。

如果我的程序(可运行jar)使用其他类需要这些外部库(jar),我应该select什么?

如果你想把jar放到你生成的jar文件中,你可以使用打包方法。 例如,如果您正在使用Apache库或其他第三方jar子,则可能需要将这些jar子保留在生成的jar子中。 在这种情况下,使用包装。 “将所需的库打包到jar文件”选项会将org.eclipse.jdt.internal.jarinjarloader包的类放入生成的文件中,并且此包仅位于生成的jar文件的根目录下。 由于Eclipse的jar加载器类,此选项还根据大小创build较大的jar文件。

提取所需的库将导致按照包命名约定将第三方库的类放入jar文件,例如,如果打开jar文件,可以看到org.apache..下的一些类。

这些jar文件的MANIFEST.MF文件的主类条目是不同的:

当你打包需要的库时,主要的类入口:

 Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader 

当你提取所需的库时,主要的类入口:

 Main-Class: YourMainClass