Java Jlink弹簧靴
我有一个简单的hello world spring 2启动应用程序,它使用完整的JDK 13运行。现在,我正试图使用SpringBoot让它与定制的JRE一起运行 过去,当我需要外部jar时,我会运行Java Jlink弹簧靴,java,spring,spring-boot,maven,jlink,Java,Spring,Spring Boot,Maven,Jlink,我有一个简单的hello world spring 2启动应用程序,它使用完整的JDK 13运行。现在,我正试图使用SpringBoot让它与定制的JRE一起运行 过去,当我需要外部jar时,我会运行jdeps-sjson-20190722.jar来查看我需要哪些模块 $jdeps -s json-20190722.jar json-20190722.jar -> java.base 但当我用弹簧做这个的时候 $jdeps -s spring-boot-2.2.4.RELEASE.ja
jdeps-sjson-20190722.jar
来查看我需要哪些模块
$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
当我这样做的时候,它也失败了
$ jdeps --generate-module-info . spring-boot-2.2.4.RELEASE.jar | more
Missing dependence: ./spring.boot/module-info.java not generated
Error: missing dependencies
spring.boot
org.springframework.boot.Banner -> org.springframework.core.env.Environment not found
org.springframework.boot.BeanDefinitionLoader -> groovy.lang.Closure not found
我错过了什么
谢谢您还需要所有依赖项,并将其指向类路径选项
$jdeps -R -s --multi-release 13 -cp 'path-to-dependencies/*' your-app.jar
如果提取fat jar,您可以找到所有依赖项(请参阅):
或者使用Gradle和自定义任务检索它们:
task copyDependencies(type: Copy) {
from configurations.default
into 'build/libs/dependencies'
}
您是否尝试添加模块路径?
task copyDependencies(type: Copy) {
from configurations.default
into 'build/libs/dependencies'
}