作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我得到的错误 -
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
如果我取出layoutFactory选项,我就可以启动启动应用程序。
在我的 build.gradle
中,我有
springBoot {
mainClass = "com.mycompany.Application"
layoutFactory = new CustomLayoutFactory()
}
class CustomLayoutFactory implements LayoutFactory {
@Override
Layout getLayout(File source) {
if (source?.getName().toLowerCase().endsWith('.jar')) {
return new Layouts.Jar() {
@Override
public String getLibraryDestination(String libraryName, LibraryScope scope) {
return "lib/";
}
@Override
public String getRepackagedClassesLocation() {
return "";
}
};
}
return Layouts.forFile(source);
}
最佳答案
您正在使用自定义 jar 布局,将嵌套 jar 打包在 lib
中,而不是 BOOT-INF/lib
中,但是,据我所知,您'我们仍然使用 Spring Boot 默认加载器中的 Spring Boot 的 JarLauncher
,它希望在 BOOT-INF/lib
中找到 jar。
您需要实现 CustomLoaderLayout
并在 jar 的根目录中提供您自己的加载器类,该类知道在 lib
中查找,而不是在 BOOT-INF/lib 中查找
。
关于java - 创建了一个自定义 Spring boot layoutFactory,现在无法启动我的 Spring Boot 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42541422/
这是我得到的错误 - Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication 如果我
我是一名优秀的程序员,十分优秀!