背景
一个spark的项目使用maven进行依赖管理,开发语言是scala。在第一次拉取项目代码的时候想要打包,发现maven对一些依赖无法拉取,但是settings.xml文件的配置是没有问题的
具体报错
1. 仓库地址无法访问
有一类错误包含信息could not transfer artifact maven-default-http-blocker (http://0.0.0.0/): blocked mirror for repositories:然后列举了很多被blocked的仓库地址
如果是这一类的错误,首先确定自己是否有访问镜像仓库的权限,在settings.xml文件中是否配置了类似
<servers>
<!-- 获取上传令牌:http://mirrors.tencent.com/#/private/maven -->
<server>
<id>id</id>
<username>username</username>
<password>password</password>
</server>
</servers>
这样的令牌,如果没有,可能是没有权限访问
如果有,那么可以在<mirrors>标签下添加<block>的配置
<mirror>
<id>insecure-repo</id>
<mirrorOf>external:http:*</mirrorOf>
<url>http://www.ebi.ac.uk/intact/maven/nexus/content/repositories/ebi-repo/</url>
<blocked>false</blocked>
</mirror>
如果添加了这个配置还是没用,或者根本就没有<mirror>标签,那么可以降一下maven的版本
2. 无法构建
报错信息:可能是某一些插件报的无法构建的error
这种情况下应该找到报错信息中的error,查看是否是代码有问题,一般会是代码有问题
总结
遇到error不要慌,Java类项目最常见的就是版本错误,确保版本依赖没有问题,如果版本依赖没有问题一般不会报错。
首先确保代码没有问题,一般来说不要使用最新的版本!