【发布时间】:2018-08-03 03:34:27
【问题描述】:
我创建了Maven 项目,其中提到了spring-boot-starter-web,其中我已经获得了slf4j-api-1.7.25.jar,并且我正在使用JDK9。但是找不到org/slf4j/LoggerFactory
线程“主”java.lang.NoClassDefFoundError 中的异常: org/slf4j/LoggerFactory 在 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) 在 org.springframework.boot.SpringApplication.(SpringApplication.java:179) 在 com.javaqubes.app.HelloWorldSpringBootApp.main(HelloWorldSpringBootApp.java:9) 引起:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 5 更多
源代码:
package com.javaqubes.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloWorldSpringBootApp {
public static void main(String[] args) {
SpringApplication.run(HelloWorldSpringBootApp.class,args);
}
}
控制器:
package com.javaqubes.app.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@RequestMapping(value = "/")
public String hello() {
return "Hello World ...... !!!!!";
}
}
pom.xml :
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.javaqubes.app</groupId>
<artifactId>01-HelloWorldSpringBoot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
【问题讨论】:
-
需要添加SLF4J依赖
-
我已经有“slf4j-api-1.7.25.jar”,其中有“LoggerFactory.class”。但仍然显示此错误。我认为使用JDK9,这有一些问题,但我不知道是什么问题,请有人指导我
-
@Henry 在这种情况下已经由 Spring Boot 启动器完成。
标签: java spring-boot slf4j noclassdeffounderror