Java Maven Spring Boot未能实例化SLF4J LoggerFactory报告的异常:
我正在学习教程 当我尝试运行应用程序时,我得到: 未能实例化SLF4J LoggerFactory报告的异常: java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)位于 性能化(LoggerFactory.java:124) 位于org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412) 位于org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357) org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) 在 org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132) 位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:273) 在 springframework.boot.SpringApplication.(SpringApplication.java:189) 在 hello.HelloWorldConfiguration.main(HelloWorldConfiguration.java:11) 原因:java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException位于 java.net.URLClassLoader.findClass(URLClassLoader.java:381)位于 loadClass(ClassLoader.java:424)位于 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)位于 loadClass(ClassLoader.java:357)。。。9更多 线程“main”java.lang.NoClassDefFoundError中出现异常: ch/qos/logback/core/joran/spi/JoranException at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)位于 性能化(LoggerFactory.java:124) 位于org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412) 位于org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357) org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) 在 org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132) 位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:273) 在 springframework.boot.SpringApplication.(SpringApplication.java:189) 在 hello.HelloWorldConfiguration.main(HelloWorldConfiguration.java:11) 原因:java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException位于 java.net.URLClassLoader.findClass(URLClassLoader.java:381)位于 loadClass(ClassLoader.java:424)位于 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)位于 loadClass(ClassLoader.java:357)。。。9更多 我的pom文件如下所示:Java Maven Spring Boot未能实例化SLF4J LoggerFactory报告的异常:,java,maven,spring-boot,slf4j,Java,Maven,Spring Boot,Slf4j,我正在学习教程 当我尝试运行应用程序时,我得到: 未能实例化SLF4J LoggerFactory报告的异常: java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)位于 性能化(LoggerFactory.java:124) 位于org.slf4j.LoggerFactory.getIL
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<groupId>sample.api</groupId>
<artifactId>api.test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>api.testMaven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<finalName>api.test</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
更新
如果我加上
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
<scope>runtime</scope>
</dependency>
org.slf4j
为了
解释。未能实例化报告的SLF4J LoggerFactory
异常:java.lang.NoClassDefFoundError:
ch/qos/logback/core/joran/spi/JoranException at
org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)位于
性能化(LoggerFactory.java:124)
位于org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
位于org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
在
org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:273)
在
springframework.boot.SpringApplication.(SpringApplication.java:189)
在
hello.HelloWorldConfiguration.main(HelloWorldConfiguration.java:11)
原因:java.lang.ClassNotFoundException:
ch.qos.logback.core.joran.spi.JoranException位于
java.net.URLClassLoader.findClass(URLClassLoader.java:381)位于
loadClass(ClassLoader.java:424)位于
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)位于
loadClass(ClassLoader.java:357)。。。9更多
线程“main”java.lang.NoClassDefFoundError中出现异常:
ch/qos/logback/core/joran/spi/JoranException at
org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)位于
性能化(LoggerFactory.java:124)
位于org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
位于org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
在
org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:273)
在
springframework.boot.SpringApplication.(SpringApplication.java:189)
在
hello.HelloWorldConfiguration.main(HelloWorldConfiguration.java:11)
原因:java.lang.ClassNotFoundException:
ch.qos.logback.core.joran.spi.JoranException位于
java.net.URLClassLoader.findClass(URLClassLoader.java:381)位于
loadClass(ClassLoader.java:424)位于
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)位于
loadClass(ClassLoader.java:357)。。。9更多
您需要找到log4j并将其添加到类路径中。查看该消息:(您管理依赖项重复,对于依赖项传递,这会导致不同版本的依赖项重复)
类路径包含多个SLF4J绑定。SLF4J:在中找到绑定
如果使用IDE Eclipse,则进行测试
快捷键:Shift+Ctrl+T
这样您就可以看到包含此类的文件:
SLF4J: Found binding in [jar:file:
/C:/Users/Josh/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!
/org/slf4j/impl/StaticLoggerBinder.class]
[jar:file:/C:/Users/Josh/.m2/repository/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar!
/org/slf4j/impl/StaticLoggerBinder.class]
重复上课
slf4j-log4j12-1.7.21.jar
logback-classic-1.1.7.jar
找到你的项目中不需要的依赖项和排除项
这样:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.0.0-beta2</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>xml-apis</artifactId>
<groupId>xml-apis</groupId>
</exclusion>
</exclusions>
org.seleniumhq.selenium
硒爪哇
3.0.0-β2
测试
xml API
xml API
下面的一个例子是“为您的环境而改变”操作对我很有效
运行mvn依赖项:清除本地存储库以删除所有依赖项并强制重新下载李>
然后执行mvn清洁验证
我添加了这个依赖项并解决了问题
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
C
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
</parent>
`<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>`