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

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

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

第一步,修改log4j.properties目录

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

第二步,检查web.xml文件

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

    <!-- 日志记录 -->
    <context-param>
        <!-- 日志配置文件路径 -->
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/log4j.properties</param-value>
<!--         <param-value>classpath*:log4j.properties</param-value> -->
    </context-param>
    <context-param>
        <!-- 日志页面的刷新间隔 -->
        <param-name>log4jRefreshInterval</param-name>
        <param-value>6000</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

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

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

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

如图操作:

点击add folder...

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

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

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

再次尝试启动就OK了

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒菜-码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值