使用maven发布spring boot项目,失败!语句是这样写的:
mvn -U clean install
mvn clean package -Dmaven.test.skip=true -Pgdhysthj -pl platform/open-cloud-base-server,platform/open-cloud-uaa-admin-server,platform/open-cloud-api-spring-server -am
- 1
- 2
- 3
-pl:发布指定项目
-am:项目依赖的项目也同样被发布
这个语句,以前运行得好地地,久经考验。现在就是报错了:
什么“Failed to read artifact descriptor for 。。。”
什么“Failed to collect dependencies 。。。”
看上面的报错信息,好像是说死活拿不到依赖的包。问题是,我电脑上的.m2上是有的;然后pom.xml中指定的仓库,相关包也是有的。经过下来一阵捣鼓猛如虎,无效:
1)删掉.m2中说找不到的包,不行
2)删掉整个.m2,不行
3)换掉指定仓库,还是不行
奇怪的是,idea下操作maven,发布是没有问题的。查看版本,idea自带的maven是3.6.3,而我机器安装的是3.8.6。官网上只有3.8.6供下载,看不到有历史版本。后来发现有博客提到maven 3.8.X有所谓配置镜像的配置,大约是禁用所谓http的仓库站点:
[maven]/conf/settings.xml
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
将其整个删掉后问题解决。
Pseudo repository to mirror external repositories initially using HTTP.,说人家这个是假仓库,伪仓库。
参考文章:
Maven 3.8.x 版本遇到的一个坑