具体步骤:

1、首先,给maven的运行时添加一个配置:-Dhttps.protocols=TLSv1.2,如下图

 

2、创建project或module

 

3、选择webapp模板的时候,要用下面的maven那个,而不要用上面coco这个。

 

3、剩下就是正常流程化的东西了,不多赘述了。

创建完的web项目结构:

 


 

说明一下原因

由于TLSv1.1 协议不安全, 出于PCI 安全标准的原因, 从2018-06-18起, maven Sonatype 中央仓库不再支持 TLSv1.1 以及以下的协议版本,

原文参见 no longer supports TLSv1.1 and below  官方说明

我使用的 jdk 是 1.7 , jdk1.7虽然支持TLS 1.2 但是默认是 disabled的, 所以就会出现上面的 Received fatal alert: protocol_version  异常 

下表格是 根据Oracle文档 各版本JDK默认使用的TLS协议:

 

解决方案:

方案1 :  升级 jdk 到1.8

jdk1.8  TLS 1.2 默认是 enable ,不会出现这个异常

PS: 这个代价可以有点大, 尤其是一些老的项目, 不是说升就可以升的

方案2:  通过添加 -Dhttps.protocols=TLSv1.2 , 配置 java runtime 参数,来 enable TLS 1.2

 

总结:如果你是jdk 1.7,2个方案都可以(本文用的是第2个方案),如果你是1.6或以下,建议还是升JDK吧。

 

posted on 2019-07-18 16:17  京华烟民  阅读(18142)  评论(0编辑  收藏  举报