maven入门问题解决
记录入门使用maven的问题和解决方法:
一、用mvn clean compile编译报错/
或者在IDE中编译时,Problem视图显示错误:无法从maven服务器或者私有服务器或者某个网站中中下载某个jar
解决方法:去repository中找到改jar的位置,看目录下是否有这样的文件:
上图的,说明这些jar包在下载的过程中由于某些原因,比如网络断了,人为强制停止等,这些jar包下载的不完整。再次重新编译是,因为这样的文件存在,所以,从私服/中央服务器 或者某个网站下载jar包失败。
或者是这样的:
这些说明,是在项目右击→update Project过程还没有进行完,就做了其他操作(run as →Maven clean 操作),被打断了
上面两个图的解决方法都是,把上图中的文件删除。然后重新编译,自动下载这些缺失的jar包。
删除update文件的方法:
1.Windows搜索文件".lastupdate",然后全选删除
2.DOS命令,进入库目录,执行for /r %i in (*.lastUpdated) do del %i命令,如:G:\.m2\repository>for /r %i in (*.lastUpdated) do del %i
二、用mvn clean compile编译报错
或者在IDE中编译时,Problem视图显示错误:显示某个jar包无效
原因:虽然报错的jar包所在路径没有问题一种的lastUpdate和in-progress文件,但是,报错表明,这个jar包是有问题的,不能正常使用。
解决方法仍然是把这些报错的jar包删除。然后重新编译,自动下载这些缺失的jar包。
三、编译下载jar包时,显示从某个网站下载jar包502错误(没有权限)。无法从该网站下载
原因:从错误信息中把网站地址copy出来,在浏览器中访问该网站,发现报错502,该网站无法访问。
某些jar包是公司自己封装的,如果下载的时候,刚巧赶上公司该网站挂了。就会出现上述问题。
解决方法:不着急的话改天再下载。着急的话从其他人那里copy一份该jar包,放到自己仓库里。
四、因为jar报错太多,所以从同事那里copy了一份库覆盖自己本地的用。copy之后,项目几乎每个文件都报错:
解决方法:
Project→clean→找到该项目,clean
项目右击→Maven→update Project→确定(清除项目缓存)
项目右击→run as →Maven clean清除项目编译的classes文件。
把这些缓存清除后,项目报错就消失了。
五、STS中项目报错:
报错中说,这个jar包不是有效的压缩包。
找到这个jar所在位置:
删除lastUpdate文件和in-progress和_remote文件,重新编译还是不行。
把这个版本的jar删除,重新编译。即可
六、maven项目jar包下载不了
这个问题我遇到过两次,一次是同事的jar包怎么都不下载,在cmd里用命令看也没有下载的打印信息。
原因是:库设置的D盘,但因为users/用户/.m2下的setting文件还在,系统会先读取这个maven默认地址的文件。而这个文件配置的不对,所以就无法下载啦。因为不用这个默认位置,所以删掉即可。
第二次是我有个jar包没有下载,下班后回家下,但是一直提示下载不了,因为通不过公司的代理。我已经把maven的setting代理去掉了,还是报同样的错。
原因也是,把库移动到其他盘之后,默认的库没有删除,所以一直按照users/用户/.m2下的setting文件配置的公司代理去走。解决方法也是,这个默认地址不用了,把users/用户/.m2这个文件夹删除即可。
总结:Maven项目启动问题,基本都是jar包问题。用命令编译查看报错的jar包,删除下载失败的jar包,重新下载即可。学会在Problem视图查看报错信息。