Postgresql 将spring迁移到spring boot web应用程序!删除了mongodb并添加了Postgres设置 原因:java.lang.NoClassDefFoundError:ch/qos/logback/classic/Logger 位于com.calamp.common.springboot.dbproperties.DBPropertySourceLoader。(DBPropertySourceLoader.java:25) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:423) 位于java.lang.Class.newInstance(Class.java:442) 位于org.springframework.core.io.support.SpringFactoriesLoader.instancefactory(SpringFactoriesLoader.java:135) ... 28多 原因:java.lang.ClassNotFoundException:ch.qos.logback.classic.Logger 位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305) 位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139) ... 35多

Postgresql 将spring迁移到spring boot web应用程序!删除了mongodb并添加了Postgres设置 原因:java.lang.NoClassDefFoundError:ch/qos/logback/classic/Logger 位于com.calamp.common.springboot.dbproperties.DBPropertySourceLoader。(DBPropertySourceLoader.java:25) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:423) 位于java.lang.Class.newInstance(Class.java:442) 位于org.springframework.core.io.support.SpringFactoriesLoader.instancefactory(SpringFactoriesLoader.java:135) ... 28多 原因:java.lang.ClassNotFoundException:ch.qos.logback.classic.Logger 位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305) 位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139) ... 35多,postgresql,spring-boot,Postgresql,Spring Boot,简短回答:您的项目缺少logback classic依赖项: Caused by: java.lang.NoClassDefFoundError: ch/qos/logback/classic/Logger at com.calamp.common.springboot.dbproperties.DBPropertySourceLoader.<clinit>(DBPropertySourceLoader.java:25) at sun.reflect.

简短回答:您的项目缺少logback classic依赖项:

Caused by: java.lang.NoClassDefFoundError: ch/qos/logback/classic/Logger
        at com.calamp.common.springboot.dbproperties.DBPropertySourceLoader.<clinit>(DBPropertySourceLoader.java:25)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.Class.newInstance(Class.java:442)
        at org.springframework.core.io.support.SpringFactoriesLoader.instantiateFactory(SpringFactoriesLoader.java:135)
        ... 28 more
Caused by: java.lang.ClassNotFoundException: ch.qos.logback.classic.Logger
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
        ... 35 more

回写
回归经典
1.2.3
测试

我猜您没有使用任何依赖关系管理工具,如Maven、Gradle或Ivy,自动解决可传递的依赖关系。在您的位置上,我会研究这些工具(最好从Maven开始),而不是自己管理依赖项。

我正在使用Maven构建。添加此依赖项没有帮助。还是有同样的问题。我的理解是,对于SpringBoot,我们只需添加基本的依赖项,其余的则由它自己解决。对我来说,链接有帮助。slf4依赖关系层次结构发生冲突。排除所有并保留1帮助。嘿,这确实可能是slf4j的问题。SpringBoot确实正确地管理它自己的依赖项,但是您添加的其他依赖项可能会带来相同依赖项的不兼容版本。不幸的是,对于常见的依赖项,如日志框架,这种情况很容易发生。为了防止将来出现这种情况,您可以将maven enforcer插件()添加到您的构建中。它将检查您的可传递依赖项是否存在不同版本的重复项,并强制您解决这些重复项。
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>