springboot控制BOOT-INF/lib类加载顺序

Springboot control BOOT-INF/lib classloading order

SpringBoot version 2.3.1
有没有办法控制 BOOT-INF/lib 中二进制文件的类加载顺序?无论以何种方式 BOOT-INF/classpath.idx 可用于此。该文件当前是在构建 fat jar 时生成的,但我们如何操作它。

BOOT-INF/lib 中 jar 文件的顺序来自您正在使用的构建系统。从问题的标签来看,你正在使用 Maven。

在 Maven 中,排序受您在 pom.xml 文件中声明依赖关系的顺序影响。声明 <dependency><dependencies> 越靠近顶部,它就会越早出现在类路径中。

虽然更改依赖项的顺序可以让您控制类路径的顺序,但我会提醒您不要依赖它。它可能导致事情变得非常脆弱,并可能导致微妙且难以追踪的错误。如果可能的话,我会尝试清理您的应用程序的类路径,这样它的顺序就无关紧要了。