首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jlink弹簧靴

Jlink弹簧靴
EN

Stack Overflow用户
提问于 2020-01-23 07:58:41
回答 1查看 2.7K关注 0票数 5

我有一个简单的hello world spring 2启动应用程序,它可以与完整的JDK 13一起运行。现在我正在尝试让它与使用spring boot的自定义JRE一起运行。

过去,当我需要外部jars时,我会运行jdeps -s json-20190722.jar来查看我需要哪些模块。

代码语言:javascript
复制
$jdeps -s json-20190722.jar 
json-20190722.jar -> java.base

但是当我用Spring做这件事时,我得到

代码语言:javascript
复制
$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

当我这样做的时候,它也失败了

代码语言:javascript
复制
$ 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

这里我漏掉了什么?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-04-14 18:39:56

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

代码语言:javascript
复制
$jdeps -R -s --multi-release 13 -cp 'path-to-dependencies/*' your-app.jar

如果解压fat jar,您可以找到所有依赖项(请参阅The Executable Jar File Structure):

代码语言:javascript
复制
 jar -xvf your-jar-file.jar

或者使用Gradle和自定义任务检索它们:

代码语言:javascript
复制
task copyDependencies(type: Copy) {
    from configurations.default
    into 'build/libs/dependencies'
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59869897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档