在 Maven 项目中,BOOT-INF/lib
目录通常位于打包后的 JAR 文件内部。如果你希望查看 BOOT-INF/lib
的绝对路径,
1、配置maven打包的依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
运行时指定依赖路径
java -jar -Dloader.path=lib my-spring-boot-app-1.0.0.jar
//依赖多个路径的时候
java -jar -Dloader.path=lib1,lib2 your-application.jar
如果系统需要动态的往内部依赖的jar包的路径放一些新的jar包,那么则需要获取这个路径,这样本地自测的时候就可以很方便的找到路径了。
springboot打包默认就是一个jar包,依赖的jar的路径就在内部
执行jar命令
jar xf my-spring-boot-app.jar
结果
BOOT-INF/
META-INF/
org/