缘起。
由于业务需要,m总团队他们也要切JAVA了,既然切了,那就离不开语言周边的软件工具,公司云化转型,我们团队基本上是最早转的,目前来看转的还算凑合,于是m总就组织了一场JAVA周边工具的破冰交流,邀我去做一个分享(我整理了一些资料,后来也没分享,直接去交流了)。
其中,有两件事情让我印象深刻。
第一件事就是有个老同事抛出来一个问题——maven这东西正常情况下使用基本没什么问题,但是如果遇到问题了就无从下手,不知道从哪里入手解决,有什么办法能够快速切入吗?(ps.要知道这位老同事可是从大型项目问题堆里摸滚打爬了很久的,对问题的敏感度要超于常人)
其实问题总是千奇百怪,我以前也只遇到一部分,根据经验只能给出一个思路,说到底也无外乎对这玩意儿要有个全局的认识,最基本的哪些命令出了问题能归类到哪一个大的方向,然后再根据具体的报错,一点一点摸索排查。
他们当前最大的痛点就是对maven没有全局和深入的认识,又没那么多时间去啃书,又想快速上手定位解决问题。遇到问题便去网上查,殊不知网上的博客内容大部分乱七八糟,还有很多都是转来转去,有些解决方法根本不通用,解决不了他们遇到的问题。
这个问题在我看来是非常非常好的一个问题,反观我自己,最近我们项目也遇到了一些问题,比如拉取docker镜像卡死,比如k8s在拉起数据面镜像的同时还会拉起一个基础镜像,谁先拉起谁后拉起,这个基础镜像到底对数据面的镜像起什么作用,这两个问题我都无从下手,想解决但无能为力。。
那么,我们如何应对这一类问题呢??亲爱的读者,有什么好的建议吗?欢迎留言交流。
第二件事情就是引用的maven仓库里的第三方jar包,如何打印日志??
实际情况我们能看到我们自己编写的Logger打印出来日志,但是引用的第三方jar包也想让它打印日志怎么办呢?(假设第三方jar包里面已经写了Logger)
我没有这方面的经验,我也无从下手了,只是提供了两个尝试方法,一种是加System.out,一种是把引用的第三方jar包它的log4j.properties文件重新打包到源码里面去,并指定路径(其实他们也已经找到一种方法,就是找到主类,指定log4j属性文件的路径,IDEA配置即可,但是仍然看不到日志)。
这个问题我回到工位上也在寻找解决方案,对我也有很大的冲击,直到现在,还处于深深的思考当中,看似那么简单那么不起眼的问题,一旦遇到了就成了大问题,只能怪我们用的太基础了!!
Dr.M之前说过,既然用了,就要把它用好。(话是和c哥聊天时转述的,原话就是这样)
知其然不知其所以然!
知其然知其所以然!