前序:
刚学完spring+springmvc+mybatis框架,并且写了一个小项目。由于现在几乎大部分公司开发都是用maven的,原因是使用maven开发好处有很多(感兴趣的自己去百度)。所以最近在学maven,我不知道大家学maven的时候是怎样的心态,而我看了很多人的博客后,心态是:这也太简单了吧,不就是导入依赖,将项目打包发布到服务器上嘛。现在看来,其实maven不算很难,但是却有很多坑,下面为大家分享一下我踩过的坑,可能因为我自身的原因导致的,在看这篇随笔的你可能这辈子都不会遇到,纯属是分享。
坑一:
我不知道大家学maven的时候是怎么找依赖的,一个项目用到的jar包实在太多了,那么要导入的依赖也就多的要死。刚开始,我是将要导入的包一个个去百度搜,去找它maven,这真tm累,不过通过多次的百度我已经找到了快速找依赖的方法:直接在搜索栏里输入你的jar包名称+空格+maven就可以快速找到,比如我要找spring-core的依赖,那么输入“spring-core maven”就能快速找到(就是这里为我踩坑埋下了伏笔)如图所示:
选择你要的版本,就可以得到依赖:
那么,坑就来了,整合完ssm后,出现了异常,如图:
百度一下这个错误你就会发现,自作孽不可活,这里要引用一下这位兄弟的博客
https://blog.csdn.net/qq_35764460/article/details/87289602
值得注意的是:
导致这个问题的原因是:
是的,他第一个弹出来的是之前的
解决方法是:以后不要这样搜索,直接去maven提供依赖的官网:https://mvnrepository.com
小插曲:
在此之前,还有很多问题呢,其中一个让我纳闷的是这个问题:
用maven整合完ssm项目,第一个报错的是这个:
导致报这个错的过程:
之后访问自己的项目,报错:
这个错误至今我也没找到解决的办法,怀疑是Tomcat版本太低,怀疑的根据:Apache Tomcat/6.0.29(如上图所示),考虑过修改maven选择的Tomcat版本,但没成功。先不管了,这种不行,就换另一种解决方案,直接maven install,打好的包放到服务器上(这样调试的话很智障)。我把编译工具换成了idea,这个错误也能避免(现在还在纳闷中。。。)
坑二:
报错是这样的:
这里要引用一下这位兄台的博客:https://blog.csdn.net/dynastyting/article/details/83279758
它里面的方法二解决了我这个问题
插入这段代码:
<!--配置Maven 对resource文件 过滤 --> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources>
总结:
经历过一堆问题后回过头写这篇随笔,感觉这些坑好简单,但在自己经历的过程中你就会发现并没有想象中的简单,maven我花了两天的时间,原本以为最多一天搞定,现在想想,自己其实犯了很多错,比如在排查bug的时候没想到将异常抛出,而是在琢磨配置文件,之前没修改的异常抛出是这样的:
显示给用户看的是这样的:
此次教训给了我很多启迪,这样也能让我成长的更快,所以感谢犯错!!!