Spring boot jar清单是否支持“类路径”?为什么要使用spring引导加载程序呢?

Spring boot jar清单是否支持“类路径”?为什么要使用spring引导加载程序呢?,spring-boot,manifest,spring-boot-maven-plugin,Spring Boot,Manifest,Spring Boot Maven Plugin,我知道spring boot使用spring boot loader打包了一个可执行jar,并使用名为JarLauncher的类从boot-INF/lib加载其他jar,如中所述 阅读之后,我想清单中的类路径也可以做到这一点 那么,为什么spring boot要做这么多工作来从定制的boot-INF/lib加载JAR,而不是简单地在META-INF/MANIFEST.MF中写入JAR呢 Class-Path: BOOT-INF/lib 类路径清单方法不支持从嵌套在jar中的jar文件加载类。从

我知道spring boot使用
spring boot loader
打包了一个可执行jar,并使用名为
JarLauncher
的类从
boot-INF/lib
加载其他jar,如中所述

阅读之后,我想清单中的
类路径
也可以做到这一点

那么,为什么spring boot要做这么多工作来从定制的
boot-INF/lib
加载JAR,而不是简单地在
META-INF/MANIFEST.MF
中写入JAR呢

Class-Path: BOOT-INF/lib

类路径
清单方法不支持从嵌套在jar中的jar文件加载类。从您在问题中链接到的Oracle文档中:

类路径头指向本地网络上的类或JAR文件,而不是JAR文件中的JAR文件或可通过Internet协议访问的类。要将JAR文件中的JAR文件中的类加载到类路径中,必须编写自定义代码来加载这些类。例如,如果MyJar.jar包含另一个名为MyUtils.jar的jar文件,则不能使用MyJar.jar清单中的类路径头将MyUtils.jar中的类加载到类路径中


Spring Boot的
JarLauncher
Spring Boot loader
中的其他类是自定义代码,允许从嵌套在jar中的jar加载类。

对不起,我误解了我发布的Oracle文档的含义……当看到
Java没有提供任何标准方法从spring boot doc加载嵌套jar文件时,我感到困惑。谢谢你指出错误,现在一切都清楚了:D