在做项目中,需要从同事电脑中把Maven项目copy过来,但是copy的过程中只copy了代码,setting.xml文件和pom.xml,使用eclipse把项目导入,有红色的感叹号提示,由于我没有copy项目依赖的jar包,而这些包都放在maven仓库中。所以需要从仓库中拉jar包。
设置好eclipse中maven的配置后,选中项目右键maven-update project 就会开始下载jar文件。
下载过程中遇到问题:1、eclipse后台提示某个具体的jar文件下载出错,错误信息有 Error 403 Forbidden。
2、从本地仓库中看到下在的文件都生成一个.lastUpdated为后缀的文件,百度了下这个文件是从*仓库找不到下载文件导致的。
根据上面两个问题可以猜测 这个*仓库应该不能用或者有权限限制,所以我又去查了下maven中如何配置本地仓库,和*仓库相关知识。结论如下:
一:设置Maven本地仓库
Maven默认仓库的路径:~\.m2\repository,~表示我的个人文档;例如:C:\Users\nicho\.m2\repository;
Maven的配置本地仓库的文件路径:E:\Maven\apache-maven-3.2.2\conf\settings.xml文件中进行配置的
我用的mac os系统,先找到当初配置的maven环境变量(时间比较早忘记放哪里了)。
打开终端输入:mvn -v 可以找到我本地maven的存放目录
然后打开 /Users/NichoC/local/apache-maven-3.2.2/conf目录下的setting.xml文件 大约53行的位置有一串代码可以配置本地仓库:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/Users/NichoC/Desktop/mavenRep</localRepository>
-->
将标红的标签中的值换成我们想要设置的本地仓库地址即可,记得把注释的标签去掉以生效
二:查看Maven*仓库
Maven最大的好处就是不用拷贝第三方Lib,也不用担心Jar冲突了;那么Maven中所需的Jar会在网络*库存放着,这样我们只需配置一下,Maven就能在*仓库中给我们下载本地仓库中;
在Maven中路径:E:\Maven\apache-maven-3.2.2\lib\maven-model-builder-3.2.2.jar\org\apache\maven\model\下有一个pom.xml的文件
打开http://repo.maven.apache.org/maven2 会指向到*仓库,但是限制打开地址会看到Error 403 Forbidden
我想这就是eclipse中后台提示错误的原因所在了吧
因为这个地址不能用了,那我们可以选择新的仓库去替换掉这个不能用的仓库,新地址可以为
http://search.maven.org/#browse 或 http://maven.outofmemory.cn/
也可以不用管他,使用镜像来配置地址:
修改maven根目录下的conf文件夹中的setting.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>
<mirrorOf>,表示只为central仓库做镜像,如果想为所有的仓库做镜像那么可以改为:<mirrorOf>*</mirrorOf>
到这里为止,地址配置好了,再update project 之后,jar文件可以下载了。但是感叹号的问题还是存在求解答