当您想使用某些Java库中的某个实用程序时,通常会做什么?我的意思是,如果将其添加为Maven依赖项,整个库是否包含在已组装的JAR中?
我没有任何类型的存储问题,也不介意JAR变得but肿,但我很好奇在这种情况下是否有降低JAR大小的策略。
谢谢
更糟糕的是:您不仅将“整个库”添加到项目中,而且还添加了其依赖项,无论是否需要它们。
Joachim Sauer说的很对,除非您不希望将依赖项运行,否则不要将依赖项捆绑到您的工件中。但是恕我直言,这只会将问题转移到另一个地方。最终,您想运行这些东西。在某个时候,将构建可运行的JAR,WAR或EAR,并且它将合并整个依赖关系树(减去每个工件只有一个版本的事实)。
Maven阴影插件可以通过仅添加“必需”类来帮助您最小化jar(请参阅使用Shade-Plugin正确最小化Uber Jar)。但这通常是棘手的:
因此,您的MinimalJar通常可能太小。
如您所见,我不知道任何通用的解决方案。
什么是明智的方法?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句