这周踩得最大的一个坑是maven,上周六花了整整一晚上,只解决了一半,拉的一个公司报表项目,改项目里的pom.xml文件里面一直标红,parent标签有问题,说找不到parent的pom文件。这时候我把maven的配置搞了一遍又一遍,以为是maven版本问题,换了好几个版本,还是不能从公司的maven库里down下项目依赖包来。无奈之下只好去把这个parent标签所在的项目拉了下来,下来之后pom文件终于消停了,maven哗哗得开始下载第三方包,暂时报表项目代码不报错了,以为搞定了。
到了周三,为了能在本地调试项目代码,开始配置tomcat,其实intellij很厉害,帮忙省了好多好多事,tomcat几乎不需要怎么配置。但是跑起来错误狂报,我看了一下报错,各种错误都有。首先是远程服务调用失败,说是找不到jar包,我勒个去,找人一问才明白周六的maven的坑还没填上。那兄弟非常清晰,先问我项目指定了jar包下载路径没有,我说没有。然后他说那肯定是你的maven的setting文件没写对,你用的什么setting,我说我就用的默认setting,兄弟汗颜,这才知道setting文件的用途之大,它用来指定maven项目的依赖包从哪下。仔细一下也是这么个理,你就在pom里面写几个artifactid只是给每个jar包起了一个唯一性标示,牛逼三方包的下载源maven估计自个也给你记下了,但是maven也没厉害到说把所有jar包的下载源都给你记下来,要是引了咱公司自己的jar包,你还得配url。
OK,拷了那兄弟的setting文件,确实又给下了不少jar,但是还是没下完,下几个jar 的时候maven还是卡住error了。当时不知道什么情况,四天之后才知道是公司的maven三方库挂了,汗。。
第二天继续想办法,人家给出个主意,把他的repository全拷给我,OK,这下该不会出现找不到jar包的问题了,tomcat一跑,还是挂,我真是B了狗了。人家ide,tomcat,repository跟我的完全一样,她能跑我不能跑,这是什么鬼!!又折腾了一晚上,搞不定,只知道是spring报错,什么filequeue,没办法找来我认识的一大神,大神瞅了一眼,说哦这是文件夹权限问题,大神就是大神,10秒钟搞定我两晚上的问题。
故事是这样的,公司的web项目都会在mac的根目录下建一个data目录,里面要放很多log文件,当初只报了个找不到/data/../log的错,说是找不到该文件或者该目录,我机智的手工mkrdir了,当时这个错没报了,就忘了这茬。其实问题出在默认mkdir是755的r-x,第三方group是没有w权限的,自然没办法往这个目录里面写log文件。自己埋得坑终究要填上,只是心塞塞。。。