Difference between extracting and packaging libraries into a jar file解释了如果分别选择每个选项会发生什么。
我不明白的是,当一种选择推荐在另一种选择之上时。
答案 0 :(得分:0)
将所需的库提取到JAR中 - 从应用程序使用的库中提取实际的.class文件,并将这些.class文件放在可运行的JAR中。因此,可运行的JAR不仅包含应用程序的.class文件,还包含应用程序使用的所有库的.class文件。 如果JAR保持独立,那么用户只需下载包含应用程序代码的JAR,而不是包含应用程序代码和所有库代码的单个大型JAR。 如果您更新应用程序,则用户必须下载更多数据才能更新应用程序。 1)将所需的库打包到JAR中 - 将库的实际JAR文件放入可运行的JAR中。通常,JVM无法加载JAR文件中的JAR文件。但Eclipse为可运行的JAR添加了特殊类以使其成为可能。 2)将所需的库复制到JAR旁边的子文件夹中 - 保持库JAR与可运行的JAR完全分离,因此可运行的JAR将只包含应用程序的.class文件。