Maven-eclipse中正常,jar包运行不正常问题

不想看我废话的直接检查配置文件,jar包情况下,放resources下不生效,要放java目录下

正文...

今天想在普通java项目上加个日志,Maven管理,配置文件放在了resources下,写完后eclipse内正常运行,日志正常输出在工作空间-项目目录下,打包jar,cmd java -jar,一气呵成......嗯?日志呢?

......

一顿内外搜索后没有什么好的答案(期间我搜索到了resources下的问题,也放到外面了但由于我用的logback包、log4j配置文件...汗...反正错过了这次机会),没事,上手撸它,debug模式走起...

debug追查到一个接口的实现类就是答案所在,替换class打印实现类,诡异的事情来了,eclipse下走的实现类a,jar下却走的实现类b...也好,只要再检查实现类b应该就能知道我的日志去哪了(突然想到,为什么第一个jar可以走到打印实现类那里...),然后我觉得jar的class让我替换的乱七八糟,于是我重新打了一个jar,更诡异的事情来了...

重新explore后,我发现打印实现类的那个类(C)不打印了,怎么回事?难道没走?于是我把C的class从jar包中删除...居然还能运行!W艹(一种植物)神了!各大论坛提问一圈,没有回应(没有大佬朋友可太难了555)。突然我想起了之前看到了个说Maven-resources的坑的帖子,于是我也一试...成了...

所以问题都明了了:1、不同的实现类:因为一个配置文件生效了,一个没生效;2、删除了class仍能运行:因为没有配置文件,不知道往哪里输出,所以可能没走到那个类就停了,所以没啥影响

总结:1、Maven普通java项目的resources真是坑啊;2、很多问题可能自己觉得描述清楚了,但大家并不知道你可能配置文件这种小错误都会犯,所以还是要细心,提高自己解决问题的能力;3、虽然耽误了些时间,但收获还挺多的(1、slf4j与log4j、logback关系、依赖;2、debug模式越玩越6了;3、会了替换class以后看哪个jar包不爽就盘他),所以有问题还是先尝试自己解决解决吧

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值