-
最近刚刚学完maven,再这里总结一下一些问题的解决方法,我找了很久加研究得出来的,万能的方法。
-
首先你得确保自己的maven 安装成功,即在cmd中使用mvn -v可以完好的显示出版本信息,若不能,即你的环境变量设置的有问题,我相信大家都知道需要设置的环境变量就两个,一个是Path,一个是M2_HOME即可。但是明明设置好了,却不能运行,总是报错,如下图:
分析原因:这里需要注意,maven是无法识别符号“;” ,如下图(错误的图片):
把符号 ;删除掉,在cmd再次输入mvn -v 测试一下。
结果为:
-
有的人可能运行出来,会出现另一个问题,安装maven之后,在cmd运行mvn 有关命令,提示不是内部或外部命令,也不是可运行程序的问题,具体原因跟上面差不多,具体请看这一篇博客:
https://blog.csdn.net/xueyijin/article/details/106074649 -
运行maven compile clean install 等操作的时候,总是出现BUILD FAILURE的问题。
这里只是普遍的一个例子,大家请看红色的字体,大概的意思就是找不到这个org.springframework:spring-core:jar:4.2.1.RELEASE依赖包,因此我们的话题就要从这里展开了。 -
大家都知道使用maven的时候,若所需的jar包不存在,就会自动去仓库寻找并下载,但是我们都知道从中心仓库下载是非常慢的,从而导致无法下载,因此就会出现上面的错误,没有这个jar依赖包,中心仓库怎么可能没有呢,因此我们需要用镜像下载所需要的jar包,具体的操作是在 G:\maven\apache-maven-3.6.3\conf下修改settings.xml :
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
之后的下载就是从这个镜像下载了,但是这个时候你重新进行mvn 等操作,仍然会是失败的,因为maven对于下载失败的时候是会自动生成一个文件后缀为lastUpdated的东西,若这个东西一直在,maven会一直认为这个无法下载即使真的可以下载,都会自动不下载,因此,我们需要找到这个lastUpdated的文件并删除,具体操作如下:在你电脑的仓库下,按org.springframework:spring-core:jar:4.2.1.RELEASE这个文件名下查找,如下(下面是我仓库的位置):
删除这两个,并且确定settings.xml已经设置好阿里云镜像,之后确保可以上网,重新执行mvn的操作。
需要注意两个地方:1.第一查看下载地址是否是来自aliyun的,2.若还是失败,再次删除.lastUpdated文件,且重新打开个cmd执行命令,若还是不行,换个网络,反正我是用wifi是无法访问下载的,用自己的手机流量就可以了。 -
接下来我们进入讲解eclipse中的问题,在这里我用的仓库,都是阿里云镜像的仓库,不用自己已经下载好的本地仓库。
-
应该大家都有尝试在eclipse中创建了maven工程,但是大家都知道,maven创建的工程都是JavaSE-1.5的,每次都要手动改写太麻烦了,因此我们还是在settings.xml的文件中进行配置,配置内容如下:
<profiles> <profile> <id>jdk17</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile> </profiles>
之后你再次创建一个新的maven工程,若还是没有改变,那就进行下面的操作。
不知道这里你们有没有设置好,我再次说一次吧,先使用自己下载好的maven软件,并设置仓库位置,通常是用User${你的电脑用户}.m2\repository,如下图:
再次点击Update Settings,点一次不行,就疯狂点,之后再次创建maven工程就可以看见javaSE就是1.7的了。 -
对于在eclipse中使用maven,若出现了build failure的事情,跟上面的操作一样,先去找本地的仓库,里面是不是有该死的文件后缀为lastUpdated的东西,删除了,再次执行maven操作,若还是失败,你查看本地仓库中,下载很正确,没有问题,那就是eclipse本身的问题了,此时,你只需要执行下面的操作就好了:
-
基本问题就解决了。
总结:
1. 失败了请根据提示查找对应的文件,若有后缀为lastUpdated的东西,删除了,再次执行。
2. 若还是失败,请换个网络,再次删除后缀为lastUpdated的东西,删除了,再次执行。
3. 对于在eclipse中,你若在pom.xml中添加了依赖,只要保存,它就会自动下载依赖包,若此时你的pom.xml文件上还是
有红色叉,请使用update Project,反正就是没事多update,即可。