jenkins配置SVN时报错:javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name

本文提供了解决在使用Jenkins和IntelliJ IDEA时遇到的javax.net.ssl.SSLProtocolException错误的方法。该错误通常由于SNI扩展问题导致。解决方案是在Java参数中添加-Djsse.enableSNIExtension=false。对于Jenkins,无论是通过命令行还是Windows服务启动,都需要在启动参数中加入此设置。

javax.net.ssl.SSLProtocolException: handshake alert:  unrecognized_name


这个错误在使用idea的svn插件时遇到过,只要在java参数里面添加下面代码:

-Djsse.enableSNIExtension=false


在jenkins里面用下面的方法解决:

1.如果通过命令行启动则在启动时添加(绝色部分):

@echo off
set JENKINS_HOME=D:\jenkins
D:\jdk1.7.0_40\bin\java -Djsse.enableSNIExtension=false -jar %JENKINS_HOME%\jenkins.war --httpPort=8000

2.通过windows 服务启动时先打开jenkins目录下的jenkins.xml文件,在如下部分添加:

<arguments>-Djsse.enableSNIExtension=false -Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8000 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle</arguments>


转载于:https://my.oschina.net/kevinky/blog/713619

Java代码执行出现 `javax.net.ssl.SSLException: Tag mismatch!` 错误,可参考以下潜在解决办法: - **检查Java版本兼容性**:该错误可能与Java版本有关,如在本地Java 8运行正常,但在Jenkins或CI/CD环境(Java 11)中出现问题。可尝试将环境中的Java版本切换为与本地相同的版本,看是否能解决问题 [^2]。 - **排查Android Studio SDK包问题**:若在安装或更新Android Studio的SDK包出现此错误,如 “Warning: An error occurred while preparing SDK package Android Emulator: Tag mismatch!”,需检查SDK包的完整性和网络连接情况,可尝试重新下载和安装相关的SDK包 [^1]。 - **重写 `getAcceptedIssuers` 方法**:对于 `javax.net.ssl.SSLException: java.lang.UnsupportedOperationException` 相关问题,可通过重写 `getAcceptedIssuers` 方法来解决。示例代码如下: ```java import java.security.cert.X509Certificate; public class CustomTrustManager implements javax.net.ssl.X509TrustManager { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) { // 实现自定义逻辑 } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) { // 实现自定义逻辑 } @Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } } ``` - **明确SSL连接配置**:若错误是由于MySQL高版本需要指明是否进行SSL连接导致,可在数据库连接URL中添加相关参数。示例代码如下: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseConnection { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/your_database?useSSL=false"; try { Connection connection = DriverManager.getConnection(url, "username", "password"); // 执行数据库操作 } catch (SQLException e) { e.printStackTrace(); } } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值