写点什么

Spring 项目启动错误提示 LoggingApplicationListener

作者:HoneyMoose
  • 2022 年 8 月 25 日
    美国
  • 本文字数:1491 字

    阅读完需:约 5 分钟

启动 Spring 项目的时候提示下面的错误信息:

Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationListener : org.springframework.boot.context.logging.LoggingApplicationListener	at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:461)	at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:443)	at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:436)	at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:267)	at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:245)	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)	at com.usvisatrack.common.data.Application.main(Application.java:18)Caused by: java.lang.NoClassDefFoundError: org.springframework.context.event.GenericApplicationListener	at java.base/java.lang.ClassLoader.defineClassImpl(Native Method)	at java.base/java.lang.ClassLoader.defineClassInternal(ClassLoader.java:466)	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:427)	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:1110)	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:898)	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:806)	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:764)	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1074)	at java.base/java.lang.Class.forNameImpl(Native Method)	at java.base/java.lang.Class.forName(Class.java:417)	at org.springframework.util.ClassUtils.forName(ClassUtils.java:284)	at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:454)	... 7 moreCaused by: java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:766)	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1074)	... 21 more

复制代码

下面的界面为错误的信息:

 


问题和解决

上面的问题简单来说就是在你的 Spring 项目中有 2 个版本的 Spring ,你需要找到 Maven 的配置文件中确定只有一个 Spring Boot 的版本。

找到你的 pom 配置文件,确保只有一个 Spring Boot 在你的配置文件中。

 


我的情况是上面老的 spring-context 和新版本的 Spring Boot 冲突了。

删掉上面的依赖就可以了。

https://www.ossez.com/t/spring-loggingapplicationlistener/14067

用户头像

HoneyMoose

关注

还未添加个人签名 2021.03.06 加入

还未添加个人简介

评论

发布
暂无评论
Spring 项目启动错误提示 LoggingApplicationListener_HoneyMoose_InfoQ写作社区