java - 什么是 uber JAR 文件?

标签 java maven packaging uberjar fatjar

我正在阅读 Maven 文档并发现了 uber-jar 这个名字。

uber-jar 是什么意思以及它的功能/优点是什么?

最佳答案

Über 是德语单词,意思是 aboveover(它实际上与英语 over 同源)。

因此,在这种情况下,uber-jar 是一个“over-jar”,是一个简单的 JAR (a) 的上一级,定义为包含两个包的一个 及其所有依赖项都位于一个 JAR 文件中。这个名字可以认为与ultrageek、superman、hyperspace、metadata同源,都具有相似的“超越正常”的含义。

优点是您可以分发您的 uber-jar 而根本不用关心依赖项是否安装在目标位置,因为您的 uber-jar 实际上没有任何依赖项。

您自己的东西在 uber-jar 中的所有依赖项在该 uber-jar 中。这些依赖项的所有依赖项也是如此。等等。

<小时/>

(a) 我可能不应该必须向 Java 开发人员解释 JAR 是什么,但为了完整起见,我将把它包括在内。它是一个 Java 存档,基本上是一个文件,通常包含许多 Java 类文件以及相关的元数据和资源。

关于java - 什么是 uber JAR 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11947037/

相关文章:

java - 如何使用 RFT 覆盖 IE 地址栏中的 URL?

java - 如何在同一个java项目中获取mahout和neo4j?

java - maven - 项目使用了不正确的依赖版本,即使它是明确定义的

javascript - 如何从node_modules获取 Node 包消费者目录?

python - "setup.py upload"失败,出现 "Upload failed (401): You must be identified to edit package information"

java - 为什么 Netty 只给我来自 UDP 消息的 768 字节

java - 尝试将 InputStream 放入 Amazon S3 时进程终止

java - 自定义 Java 类加载器未用于加载依赖项?

macos - mac下如何切换maven版本

python - 如何防止 Poetry 考虑 .gitignore