pax*_*blo 323
Über是德语中的above或者over,就像以前的国歌一样:( Deutschland, Deutschland, über alles德国,德国高于一切).
因此,在这种情况下,uber-jar是一个"over-jar",比简单的"jar"高一级,定义为在一个JAR文件中同时包含你的包及其所有依赖项的jar.这个名称可以被认为来自与ultrageek,超人,超空间和元数据相同的稳定性,它们都具有"超越正常"的相似含义.
其优点是,你可以发布你的尤伯杯罐子,也不在乎是否不依赖在目的地被安装,为您的尤伯杯罐子其实有没有依赖关系.
你自己的东西在uber-jar中的所有依赖关系也在 uber-jar中.这些依赖项的所有依赖项都是如此.等等.
Jea*_*evy 56
Paxdiablo的定义非常好.
此外,如果您真的想要分发软件并且不希望客户自己下载依赖项,请考虑提供超级jar有时非常有趣.作为一个缺点,如果他们自己的策略不允许使用某些库,或者如果他们必须绑定一些额外的组件(slf4j,系统兼容的libs,arch expertiez libs,...),这可能会增加他们的困难.
你可以执行:
更清洁的解决方案是单独提供该库; maven-shade-plugin为此预先配置了描述符.这不是更复杂(使用maven及其插件).
最后,一个非常好的解决方案是使用OSGI Bundle.有很多很好的教程:)
有关进一步配置,请阅读以下主题:
Pre*_*raj 49
ubar jar也称为fat jar,即具有依赖性的jar.
构建超级jar有三种常用方法:
Skinny – 仅包含您在代码编辑器中真正键入的位,不包含其他任何内容。
Thin – 包含上述所有内容以及应用程序的直接依赖项(数据库驱动程序、实用程序库等)。
Hollow – Thin 的反面 – 仅包含运行您的应用程序所需的位,但不包含应用程序本身。基本上是一个预先打包的“应用程序服务器”,您可以稍后将应用程序部署到该服务器上,与传统的 Java EE 应用程序服务器的风格相同,但有重要的区别。
脂肪/尤伯杯-包含位您字面上写自己PLUS您的应用程序的直接依赖PLUS为“自身”运行你的应用程序所需的位。
来源:文章来自 Dzone
转自:https : //stackoverflow.com/a/57592130/9470346
| 归档时间: |
|
| 查看次数: |
83260 次 |
| 最近记录: |