IDE中Maven项目不能下载依赖的解决办法

1.问题出现

前两天安装了2019版的IDE,昨天创建了项目,突然发现不能下载新的依赖。于是在各大网站上搜了搜,我发现大部分都是让修改Maven下settings.xml文件中的镜像地址,然而我发现我的settings.xml中的镜像地址和有的答主的地址一样,然而我的还是不行。点击了答主们提供的好几个镜像地址,结果发现都是这样的情况:

此时下载的依赖目录下只有1K大小的.lastUpdated文件。虽然不知道这个文件是个啥,但是肯定不是我们要的依赖包。

2.解决办法

首先,如果电脑上下载了Maven,那么我们电脑上的Maven有两个:IDE自带的Maven与我们下载的Maven。

在IDEA中,Maven home directory、User settings file和Local repostory三个配置必须统一!!!即:

设置三者均为我们下载的maven或者:

如果这三者统一后,maven还是不能正常下载依赖,那么需要修改settings.pom文件:

2.1 修改我们自己下载的maven

settings.pom文件的地址为:E:\Maven\apache-maven-3.5.0\conf,打开修改settings.pom文件,在<mirrors>标签下添加:

	<mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>	
	</mirror>
	
	<mirror>
		<id>centralmaven</id>
		<mirrorOf>central</mirrorOf>
		<name>central maven</name>
		<url>http://mvnrepository.com</url>	
	</mirror>

重新设置即可成功。

一旦发现不能正常下载依赖,我们可以先在阿里云帮助中心中先查看maven配置指南。在我再次出现不能正常下载依赖时,就根据阿里云maven配置指南重新配置settings.xml文件:

x2.2 修改IDE中自带的maven配置

因为IDE中的maven默认是在外网中下载依赖,如果我们想加快下载速度,可以打开IDE在我们电脑中的位置,接着打开如下地址:

打开setting.pom文件,还是在<mirrors>标签下添加

	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>	
	</mirror>

至此,Maven项目下载依赖再也不是问题了,我们可以愉快地搞起代码了。

3.删除.lastUpdated文件的方法

在依赖下载失败期间Maven相应的仓库中产生了许多后缀为.lastUpdated的文件,一般是下载失败后产生的文件,当这些文件存在时,Maven并不回去自动下载jar包。批量删除.lastUpdated文件的方法:

1.首先进入本地仓库目录下
    在电脑左下角的输入框中输入cmd,进入命令提示符,一般打开是C盘!
    如果我们本地的仓库放在别的盘中,则需要先进入其它盘。假如是E盘,则在命令框中直接
    输入E:(":"为英文冒号),然后再输入cd 本地仓库地址。
2.然后输入 
    for /r %i in (*.lastUpdated) do del %i (Windows中)
    find /app/maven/localRepository -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;}
    这样就删除了本地仓库中下载jar包失败产生的lastUpdated文件。

 

 4.Maven的一些命令和应用

mvn -version 显示版本信息
mvn clean  清理项目产生的临时文件,一般是模块下的target目录
mvn compile 编译源代码,一般编译模块下的src/main/java目录,在target下产生.class文件
mvn valide  验证工程是否正确,所有需要的资源是否可用。
mvn install 将打包的jar/war文件复制到你的settings.xml文件中配置的本地仓库(包括jar和pom),供其它模块使用。
mvn package 项目打包工具,会在模块下的target目录生成.class文件还有jar或war等文件
            (一开始创建maven项目的时候可以指定默认打包格式 也可以在pom中用packaging
            :jar或packaging:war来标注) 如果某个maven项目依赖另一个自己写的maven
            项目 比如B引用A 那么必须先将Ainstall进本地仓库里 然后再对B进行打包才
            不会报错。
mvn test 测试命令,或将执行src/test/java下junit的测试用例。
mvn deploy 将打包的文件发布到远程参考,提供其他人员进行下载依赖。
发布了148 篇原创文章 · 获赞 32 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/smell201611010513/article/details/104805038