将多个 Jar 合并到单个 Jar 中
我的应用程序需要多个 jar 才能工作。由于它是一个桌面应用程序,我不能让用户负责安装。因此,在我的构建脚本中,我将jars内容解压缩到我的构建目录中,删除清单文件,编译我的软件并再次jar。一切都应该正常工作,我的问题是这个过程是否有任何长期的副作用?
我的应用程序需要多个 jar 才能工作。由于它是一个桌面应用程序,我不能让用户负责安装。因此,在我的构建脚本中,我将jars内容解压缩到我的构建目录中,删除清单文件,编译我的软件并再次jar。一切都应该正常工作,我的问题是这个过程是否有任何长期的副作用?
在过去,有些 JAR 的内容很奇怪(比如 DB2 驱动程序,它包含 和 ;在 Windows 文件系统中解压缩后,这两个包将被合并)。com.ibm
com.IBM
您需要注意的唯一问题是 META-INF 中的签名 jar 和其他文件,它们在多个源 JAR 中可能具有相同的名称。
所有这些问题的简单解决方案是使用 One-JAR。它允许将多个 JAR 打包成一个,而无需先解压缩它们。并阅读以下答案:将版本合并到一个JAR文件中的最简单方法