maven - 在 Intellij idea ultimate2017.2 中运行 maven webapp 时出错 : Caused by: java. lang.NoClassDefFoundError: Lorg/slf4j/Logger

标签 maven tomcat intellij-idea

我在Intellij idea ultimate2017.2中导入了一个已经存在的maven项目,并添加了一个tomcat本地服务器,但是当我运行这个项目时,出现了错误:

    Caused by: java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
    at java.lang.Class.getDeclaredFields(Class.java:1916)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:262)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:88)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:64)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:778)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5105)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 42 more
Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)

我正在使用tomcat8.5.16maven3.5.0,以及pom.xml中的slf4j依赖> 是:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jul-to-slf4j</artifactId>
    <version>${slf4j.version}</version>
    <scope>runtime</scope>
</dependency>

intellij 会自动将maven 依赖添加到web lib 中吗?在webapp/WEB_INF中找不到lib目录,如何将maven库添加到webapp中?

最佳答案

应该使用 mvn 命令来构建项目。打开Run/Debug Configuration ->选择你创建的Tomcat Server->Before launch:Maven Goal,Build Artifacts,Activate tool window ->点击+ 并使用 maven clean package

关于maven - 在 Intellij idea ultimate2017.2 中运行 maven webapp 时出错 : Caused by: java. lang.NoClassDefFoundError: Lorg/slf4j/Logger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45213256/

相关文章:

mysql - 在远程存储库中找到最新的 MySQL 驱动程序

java - RFC 2965 : effective host name does not domain-match domain attribute

groovy - Intellij 想法 gdsl。将构造函数添加到类。 GDSL 文档

java - 如何在 Intellij 中获取文件?

tomcat - 如何在 Tomcat 7.0 中设置 Web 应用程序的上下文路径

gradle - 当使用IntelliJ调试kotlin gradle项目中的单元测试时,为什么会有几十个废话异常?

java - Maven war - 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/] 构建 Maven war

java - JDK 1.7错误: Could not find or load main class when using command "java -cp" with multiple jars

java - 使用maven-compiler-plugin和aspectj-maven-plugin进行编译

java - 在 Eclipse 中为 Maven 项目使用 Tomcat