Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory,即使我有正确的依赖项_Java_Spring_Maven_Intellij Idea - Fatal编程技术网

java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory,即使我有正确的依赖项

java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory,即使我有正确的依赖项,java,spring,maven,intellij-idea,Java,Spring,Maven,Intellij Idea,我现在真的很紧张。我试着将一些加密代码从一个项目复制到另一个项目——实际上,一个只是另一个项目的一个分支。对项目的更改很少(一些样式和格式更改),但其中一个可行,另一个出现以下错误: HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException type Exception report message Request processing failed; nes

我现在真的很紧张。我试着将一些加密代码从一个项目复制到另一个项目——实际上,一个只是另一个项目的一个分支。对项目的更改很少(一些样式和格式更改),但其中一个可行,另一个出现以下错误:

HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException

type Exception report

message Request processing failed; nested exception is java.lang.NullPointerException

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:981)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

java.lang.NullPointerException
    com.grandcircus.spring.util.GateKeeper.getSecretKey(GateKeeper.java:47)
    com.grandcircus.spring.util.GateKeeper.setLock(GateKeeper.java:28)
    com.grandcircus.spring.controller.HomeController.registerChaplainSubmit(HomeController.java:157)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
    org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我在部署终端中收到此警告:

log4j:WARN No appenders could be found for logger (org.springframework.web.servlet.DispatcherServlet).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[2017-06-21 01:17:58,132] Artifact SpringTemplate:war exploded: Artifact is deployed successfully
[2017-06-21 01:17:58,132] Artifact SpringTemplate:war exploded: Deploy took 4,536 milliseconds
21-Jun-2017 13:18:03.131 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Program Files\Apache\apache-tomcat-8.0.43\webapps\manager
21-Jun-2017 13:18:03.178 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Program Files\Apache\apache-tomcat-8.0.43\webapps\manager has finished in 47 ms

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
以下是我的依赖项列表:

<?xml version="1.0" encoding="UTF-8"?>
<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.grandcircus.spring</groupId>
    <artifactId>first-time-out-program</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.2.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.2.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.2.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.2.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.12.1.GA</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.3.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.2.4.Final</version>
        </dependency>

        <!--below are fixes for 500 error -->
        <dependency>
            <groupId>org.apache.taglibs</groupId>
            <artifactId>taglibs-standard-spec</artifactId>
            <version>1.2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.taglibs</groupId>
            <artifactId>taglibs-standard-impl</artifactId>
            <version>1.2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>3.6.3.Final</version>
        </dependency>

        <!-- Dependencies needed for email validation API -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.1</version>
        </dependency>
        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20090211</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.22</version>
        </dependency>
    </dependencies>
</project>

4.0.0
com.grandcircus.spring
首次超时计划
1.0-快照
战争
org.springframework
spring上下文
4.2.4.1发布
org.springframework
春季aop
4.2.4.1发布
org.springframework
SpringWebMVC
4.2.4.1发布
org.springframework
弹簧网
4.2.4.1发布
org.springframework
春季甲虫
4.2.9.1发布
javax.servlet
jstl
1.2
公用记录
公用记录
1.1.3
mysql
mysql连接器java
5.1.6
javassist
javassist
3.12.1.GA
org.hibernate
冬眠核心
3.6.3.最终版本
org.hibernate
休眠验证器
5.2.4.最终版本
org.apache.taglibs
taglibs标准规范
1.2.5
假如
org.apache.taglibs
taglibs标准impl
1.2.5
假如
javax.servlet.jsp
jsp api
2.1
假如
org.hibernate
hibernate-c3p0
3.6.3.最终版本
org.apache.httpcomponents
httpclient
4.5.1
com.googlecode.json-simple
简单json
1.1
org.json
json
20090211
javax.servlet
servlet api
2.5
org.slf4j
slf4j-log4j12
1.7.22

这已经让我疯狂了好几个小时了,在这里找到的任何答案都需要比我更高的智商,因为我完全不懂。到底发生了什么,为什么我是唯一一个有这个问题的人,只在项目的这个特定分支上有这个问题?这毫无意义

apache/tomcat(catalina)的类加载器没有通过反射找到LoggerFactory,这可能是由于类路径中存在大量日志依赖项造成的

请尝试从您的POM中删除此项

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.6</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.1.3</version>
    </dependency>

org.slf4j
slf4j api
1.7.5
org.slf4j
slf4j-log4j12
1.7.5
org.slf4j
slf4j简单
1.7.6
回写
回归经典
1.1.3
回写
回溯堆芯
1.1.3
并将其替换为

<dependency>
<groupId><org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.22</version>
</dependency>


apache/tomcat(catalina)的类加载器没有通过反射找到LoggerFactory,这可能是由于类路径中存在大量日志依赖项造成的

请尝试从您的POM中删除此项

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.6</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.1.3</version>
    </dependency>

org.slf4j
slf4j api
1.7.5
org.slf4j
slf4j-log4j12
1.7.5
org.slf4j
slf4j简单
1.7.6
回写
回归经典
1.1.3
回写
回溯堆芯
1.1.3
并将其替换为

<dependency>
<groupId><org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.22</version>
</dependency>


添加slf4j依赖项后,您是否清理并重建了项目?@Jens:没有。您需要这两个。SLF4j是一个门面。您需要绑定到日志框架@莎拉:为什么你要绑定到多个日志框架(
log4j
logback classic
)?你在结果文件中看到带类的JAR了吗?我这样做是因为我在谷歌上搜索的许多类似问题都有答案,说明所有这些都在。当他们没有一个人或一起工作时,我就把他们留在那里了。在添加slf4j的依赖项后,你清理并重建了你的项目吗?@Jens:没有。你需要两个。SLF4j是一个门面。您需要绑定到日志框架@莎拉:为什么你要绑定到多个日志框架(
log4j
logback classic
)?你在结果文件中看到带类的JAR了吗?我这样做是因为我在谷歌上搜索的许多类似问题都有答案,说明所有这些都在。当他们没有一个人或一起工作时,我只是把他们留在那里。我已经按照你的要求做了,但收到了不同的错误消息。我已经更新了我的操作。@Sarah Guarino,为什么不在新问题中为这个新问题创建另一个票证?@SarahGuarino:如果您在Servlet 2.X上下文中,请将此添加到部署描述符(web.xml)中:`org.springframework.web.util.Log4jConfigListener log4jConfigLocation类路径:log4j.properties`。并在资源文件夹中创建log4j.properties文件。我按照您的要求完成了这项工作,但收到了不同的错误消息。我已经更新了我的操作。@Sarah Guarino,为什么不在新问题中为这个新问题创建另一张票证?@SarahGuarino:如果您在Servlet 2.X上下文中,请将此添加到部署描述符(web.xml):`org.springframework