概述
不想看我废话的直接检查配置文件,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包不爽就盘他),所以有问题还是先尝试自己解决解决吧
最后
以上就是高大网络为你收集整理的Maven-eclipse中正常,jar包运行不正常问题的全部内容,希望文章能够帮你解决Maven-eclipse中正常,jar包运行不正常问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复