【发布时间】:2016-07-10 09:42:55
【问题描述】:
我是 Spring Boot 的新手,我看到了关于 spring-boot 的可执行 jar。 它说:
可执行的 jar 和 Java
Java 不提供任何标准方式来加载嵌套的 jar 文件(即 jar 文件本身包含在 jar 中)。这可以是 如果您希望分发一个独立的 应用。
为了解决这个问题,许多开发人员使用“超级”罐子。一个超级罐子 只需将所有 jar 中的所有类打包到一个存档中。这 这种方法的问题是很难看出哪个 您在应用程序中实际使用的库。它也可以 如果使用相同的文件名(但内容不同)会出现问题 在多个罐子里。
Spring Boot 采用了不同的方法,允许您实际嵌套 直接装罐子。
我想知道 uber jars 或 fat jars 是否有一些缺点,即我们必须重新部署整个 uber-jars,可能会遇到 NoSuchMethodError 的问题。Spring boot 可执行 jar 与 uber jars 有何不同。既然有很多缺点,为什么spring boot还要用这种jar呢?
【问题讨论】:
标签: java spring jar spring-boot