关于maven打包时的报错: Return code is: 501 , ReasonPhrase:HTTPS Required
作者:风一样的小李子 发布时间:2022-09-09 00:50:51
今天使用jenkins构建时,报以下错误
[ERROR] Failed to execute goal on project saas20: Could not resolve dependencies for project com.ipower365.saas:saas20:war:0.0.1-SNAPSHOT: Failed to collect dependencies at com.ipower365.saas:messageserviceimpl:jar:0.0.1-SNAPSHOT -> com.ipower365.boss:nacha:jar:1.0.1: Failed to read artifact descriptor for com.ipower365.boss:nacha:jar:1.0.1: Could not transfer artifact com.ipower365.boss:nacha:pom:1.0.1 from/to central (http://repo1.maven.org/maven2/):
Failed to transfer file:
http://repo1.maven.org/maven2/com/ipower365/boss/nacha/1.0.1/nacha-1.0.1.pom
. Return code is: 501 , ReasonPhrase:HTTPS Required. -> [Help 1]
我们发现,这个依赖的文件在本地仓库是有的,但是在构建过程中,在本地nexus下载完文件后,还是会像中央仓库请求文件下载
[echoing saas20] Downloading from central: http://repo1.maven.org/maven2/com/ipower365/boss/nacha/1.0.1/nacha-1.0.1.pom
之后我们根据返回的501错误,去搜索问题,参考链接如下:
https://stackoverflow.com/questions/59763531/maven-dependencies-are-failing-with-501-error
上面提示,自2020年1月15日起,中央存储库不再支持通过纯HTTP进行的不安全通信,并且要求对存储库的所有请求都通过HTTPS进行加密。
于是我们在构建过程中所依赖的settings文件中,加入了一以下配置:
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>https://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
但是问题依然没有解决,接着报错,错误如下:
Could not transfer artifact com.ipower365.boss:nacha:pom:1.0.1 from/to central
(https://repo1.maven.org/maven2/):
Received fatal alert: protocol_version -> [Help 1]
这个是在使用https协议请求中央仓库时,需要指定协议版本,然后在构建时,加入了如下参数,参考链接如下:
https://stackoverflow.com/questions/50824789/why-am-i-getting-received-fatal-alert-protocol-version-or-peer-not-authentic
然后再次构建时,就通过请求了!
原因:我们Java环境用的是7和8两种,而我们的mvn版本用的是3.5.x。
所以,在JAVA8环境使用mvn打包时,不需要指定以上参数,但是使用JAVA7环境的时候,则会出现以上报错。后面会考虑更新下mvn的版本及统一JAVA环境
来源:https://www.cnblogs.com/flashfish/p/12202305.html


猜你喜欢
- 今天写一个小程序中使用到了全局快捷键,找到了我之前写的文章在c#中使用全局快捷键翻了一下,发现它是WinForm版本的,而我现在大部分写WP
- /// <summary> /// 安装的excel的版本,0为没有安装,大于1说明安装了多个. /// </summar
- 调用和回调机制在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种:1.同步调用同步调用是最基本并且最简
- 一、快捷键添加代码块:++快速生成属性等:++导包:+++自动创建变量名:++查找源代码:++按条件查找替换:++快速查看当前类的所有方法:
- 我们在java中处理字符串的时候,一般会选择String,在python中同样也是作用于字符串。那么我们今天延伸一下它的用法,只使用Stri
- 一个Java程序的执行要经过编译和执行(解释)这两个步骤,同时Java又是面向对象的编程语言。当子类和父类存在同一个方法,子类重写了父类的方
- 本文实例讲述了Java正则验证IP的方法。分享给大家供大家参考,具体如下:网上用正则验证IP的表达式有很多,一搜一大堆,可以自己写,但很麻烦
- 说到关注功能,可能很多小伙伴要说了。谁不会写但是没有合理的架构,大家写出来的代码很可能是一大堆的复制粘贴。比如十几个页面,都有这个关注按钮。
- 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数
- 前言 对于服务端,达到高性能、高扩展离不开异步。对于客户端,函数执行时间是1毫秒还是100毫秒
- 如果不知道,类的静态变量存储在那? 方法的局部变量存储在那? 赶快收藏Java内存区域主要可以分为共享内存,堆、方法区和线程私有内存,虚拟机
- 一、C#方法中参数类型有4种参数类型,有时候很难记住它们的不同特征,下图对它们做一个总结,使之更容易比较和对照。二、C#方法中的参数1、值参
- 一、需求触发场景:项目中需要开发带有EditText的Dialog显示,要求在编辑完EditText时,点击Dilog的空白处隐藏软键盘。但
- 一、redis key数量为1千万时。存储value为"0",比较小。如果value较大,则存储内存会增多redis k
- feign传输List的坑无法直接传输List错误方法1@RequestMapping(value = "/stat/mercha
- 目录1 Semaphore的主要方法2 实例讲解实现单例模式3 源码解析构造方法获取许可释放许可减小许可数量获取剩余许可数量前言:Semap
- 一、首先我们要获取Logcat中的日志如何获取呢?首先我们要先定义一个String[]数组,里面的代码是//第一个是Logcat ,也就是我
- 我们做项目实际中经常会遇到这样的情况,创建一个common项目(Maven项目)作为公用项目,common中有很多工具类可以供其它多个项目调
- 简单讲下用法://引依赖<dependency><groupId>tk.mybatis</groupId>
- 最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结。1、继承Thread类实现多线程继承Thread类的方法