解决ssm框架的maven项目中,启动tomcat找不到log4jConfigLocation对应的log4j.properties文件的问题

我自己在网上搜索了很多资料,发现没有一个能顺利解决的。最终我自己搞出来了,发现好多人发布的解决办法都是一半,不是全部,也就是问题排查不全面,这里详细的说下和排除办法。

先声明下:IDE用EC或者MYEC都可以,我没有用IDEA。框架是SSM的MAVEN项目。自己搭建框架的时候发现的问题。

第一步,修改log4j.properties目录

将log4j.properties文件存放到resourse根目录下,如图:

解决ssm框架的maven项目中,启动tomcat找不到log4jConfigLocation对应的log4j.properties文件的问题_第1张图片

第二步,检查web.xml文件

找到web.xml中的log4jConfigLocation,将下面代码覆盖下:

    
    
        
        log4jConfigLocation
        /WEB-INF/classes/log4j.properties

    

    
        
        log4jRefreshInterval
        6000
    

    
        org.springframework.web.util.Log4jConfigListener
    

大家可以看到我注释掉了classpath*的这一行。原因是tomcat找不到classpath,所以要指定。这一步还是很关键的。

第三步,检查自己的java Build Path

右键项目----》java Build Path ---》点击Source

如图操作:

解决ssm框架的maven项目中,启动tomcat找不到log4jConfigLocation对应的log4j.properties文件的问题_第2张图片

点击add folder...

解决ssm框架的maven项目中,启动tomcat找不到log4jConfigLocation对应的log4j.properties文件的问题_第3张图片

勾选项目下resources目录,点击OK

检查看是否出现了该目录:

解决ssm框架的maven项目中,启动tomcat找不到log4jConfigLocation对应的log4j.properties文件的问题_第4张图片

个人理解就是,其实是在编译的时候指定了一个资源目录,告诉tomcat让它在这里找。

再次尝试启动就OK了

有的同学pom中引入了jackson,可能会报错,下一篇文章会讲怎么解决。

你可能感兴趣的:(spring,找不到路径,tomcat启动报错)