是否可以将所有 jar 依赖项打包到一个大 jar 中?
2022-09-03 16:27:17
我知道这不是“最佳实践”,但是我可以将所有依赖项包含在一个大jar中吗?
我知道这不是“最佳实践”,但是我可以将所有依赖项包含在一个大jar中吗?
我的感觉是,称One-Jar的表现糟糕和糟糕是不公正的。对于中等大小的应用程序,可以预期启动将花费几秒钟的时间(虽然这不会影响JVM初始屏幕)。对于大多数环境,数十兆字节的内存开销可以忽略不计,嵌入式系统除外。此外,One-Jar能够自动将一些文件提取到文件系统,这节省了在我的情况下开发安装程序的需要。
下面尝试量化 One-Jar 对我的应用程序引入的性能影响。它是基于 Swing 的 GUI 应用程序,由 352 个类组成,这些类使用 ProGuard 4.5b2 进行了模糊处理。One-Jar 0.96用于将生成的类与价值12MB的库(ODFDOM,Saxon HE,Xerces,Jaxen,VLDocking,Apache Commons等)捆绑在一起。我已经比较了混淆罐的性能与One-Jar处理的相同罐子的性能。
上面的时间是通过在从 Linux shell 启动 JVM 之前,在 main() 方法的开头,以及在我的应用程序窗口的 windowOpen() 事件处理程序中获取时间戳而获得的。测量是在一台速度不是特别快的D820笔记本电脑上进行的,双核1GHz CPU和运行Ubuntu 8.04的2G或RAM。
希望它有帮助。