解决JDK异常处理No appropriate protocol问题

 更新时间:2024年06月11日 15:09:25   作者:蓝天白云下遛狗  
这篇文章主要介绍了解决JDK异常处理No appropriate protocol问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

JDK异常处理No appropriate protocol

异常展示

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) ~[na:1.8.0_292]
        at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98) ~[na:1.8.0_292]
        at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220) ~[na:1.8.0_292]
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:428) ~[na:1.8.0_292]
        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:275) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:254) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:118) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:314) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85) ~[httpclient-4.3.2.jar:4.3.2]
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) ~[httpclient-4.3.2.jar:4.3.2]

分析

倘若是2021年5月后安装的jdk,最新版jdk不支持ssl

解决办法

找到jdk 1.8安装目录,找到C:\Program Files\Java\jre里面的lib\security 下面有个java.security。

找到对应的SSLv3,删除掉,重启项目就好了。(删掉SSLv3就是允许SSL调用)

在这里插入图片描述

红框中的全部删除掉即可通过SSL调用

处理JDK相关的linux命令

查询系统自带的jdk包括自己安装的openjdk

rpm -qa | grep java

删除自带的jdk或者自己安装的openjdk

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64

命令介绍:

  • rpm:管理套件  
  • -e:删除指定的套件
  • --nodeps:不验证套件档的相互关联性

JDK相关版本下载

安装

1.将安装包上传到服务器例如 /opt/java 文件夹下

2.解压

3.配置环境文件

export JAVA_HOME=/opt/java/jdk1.8.0_281
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

4.使环境文件生效

source /etc/profile

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot读取配置文件常用方法解析

    SpringBoot读取配置文件常用方法解析

    这篇文章主要介绍了SpringBoot读取配置文件常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • java实现本地缓存的示例代码

    java实现本地缓存的示例代码

    在高性能服务架构设计中,缓存是不可或缺的环节,因此这篇文章主要为大家详细介绍了java中如何实现本地缓存,感兴趣的小伙伴可以了解一下
    2024-01-01
  • Java编程中随机数的生成方式总结

    Java编程中随机数的生成方式总结

    在Java中利用自带的类库可以有三种途径可以产生随机数,这里我们举了一些简单的例子来进行Java编程中随机数的生成方式总结,需要的朋友可以参考下
    2016-05-05
  • Java实战之小蜜蜂扩音器网上商城系统的实现

    Java实战之小蜜蜂扩音器网上商城系统的实现

    这篇文章主要介绍了如何利用Java实现简单的小蜜蜂扩音器网上商城系统,文中采用到的技术有JSP、Servlet 、JDBC、Ajax等,感兴趣的可以动手试一试
    2022-03-03
  • 理解java设计模式之建造者模式

    理解java设计模式之建造者模式

    这篇文章主要帮助大家理解java设计模式之建造者模式,对建造者模式,即生成器模式进行实例讲解,感兴趣的朋友可以参考一下
    2016-02-02
  • Java中Spock框架Mock对象的方法经验总结

    Java中Spock框架Mock对象的方法经验总结

    这篇文章主要分享了Spock框架Mock对象的方法经验总结,下文分享一些常用项目实战说明以及代码,供大家项目中参考,也具有一的的参考价值,需要的小伙伴可以参考一下
    2022-02-02
  • spring MVC + bootstrap实现文件上传示例(带进度条)

    spring MVC + bootstrap实现文件上传示例(带进度条)

    本篇文章主要介绍了spring MVC + bootstrap实现文件上传示例(带进度条),非常具有使用价值,有需要的朋友可以了解一下。
    2017-03-03
  • 深入了解final在java中的应用

    深入了解final在java中的应用

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。
    2019-06-06
  • Post请求参数是数组或者List时的请求处理方式

    Post请求参数是数组或者List时的请求处理方式

    这篇文章主要介绍了Post请求参数是数组或者List时的请求处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 简单实现Servlet文件下载功能

    简单实现Servlet文件下载功能

    这篇文章主要教大家如何简单实现Servlet文件下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09

最新评论