Jlink弹簧靴

时间:2020-01-22 23:58:41

标签: java spring spring-boot maven jlink

我有一个简单的hello world spring 2引导应用程序,该应用程序可与完整的JDK 13一起运行。现在,我试图使用Spring Boot使其与自定义JRE一起运行。

过去,当我需要外部jar时,我运行 Client client = new Client(name,email,vin,year,make); clients.add(client); 来查看我需要哪些模块。

jdeps -s json-20190722.jar

但是当我在Spring中这样做时,我会得到

$jdeps -s json-20190722.jar 
json-20190722.jar -> java.base

我这样做也会失败

$jdeps -s spring-boot-2.2.4.RELEASE.jar
spring-boot-2.2.4.RELEASE.jar -> java.base
spring-boot-2.2.4.RELEASE.jar -> java.desktop
spring-boot-2.2.4.RELEASE.jar -> java.logging
spring-boot-2.2.4.RELEASE.jar -> java.management
spring-boot-2.2.4.RELEASE.jar -> java.naming
spring-boot-2.2.4.RELEASE.jar -> java.sql
spring-boot-2.2.4.RELEASE.jar -> java.xml
spring-boot-2.2.4.RELEASE.jar -> not found

我在这里想念什么?

谢谢

1 个答案:

答案 0 :(得分:3)

您还需要所有依赖项并将其指向类路径选项。

$jdeps -R -s --multi-release 13 -cp 'path-to-dependencies/*' your-app.jar

如果您提取胖子,则可以找到所有依赖项(请参见The Executable Jar File Structure

 jar -xvf your-jar-file.jar

或通过Gradle和自定义任务检索它们:

task copyDependencies(type: Copy) {
    from configurations.default
    into 'build/libs/dependencies'
}