jenkins windows安装agent,java报错“Software caused connection abort: socket write error”

  • Post author:
  • Post category:java




前景描述:

windows7机器,有jdk环境,点开”slave-agent.jnlp”,成功的连接到jenkins server,点击file注册到服务,结果没有安装Net 4.0及以上环境,关了”slave-agent.jnlp”后,重新打开就会报错如下

java.net.SocketException: Software caused connection abort: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(Unknown Source)
	at java.net.SocketOutputStream.write(Unknown Source)
	at sun.security.ssl.OutputRecord.writeBuffer(Unknown Source)
	at sun.security.ssl.OutputRecord.write(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.writeRecordInternal(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
	at sun.security.ssl.Handshaker.sendChangeCipherSpec(Unknown Source)
	at sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown Source)
	at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source)
	at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
	at sun.security.ssl.Handshaker.processLoop(Unknown Source)
	at sun.security.ssl.Handshaker.process_record(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
	at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source)
	at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
	at com.sun.deploy.net.BasicHttpRequest.doHeadRequestEX(Unknown Source)
	at com.sun.deploy.cache.ResourceProviderImpl.checkUpdateAvailable(Unknown Source)
	at com.sun.deploy.cache.ResourceProviderImpl.isUpdateAvailable(Unknown Source)
	at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
	at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
	at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

在这里插入图片描述



解决踩的坑:

看到ssl证书,想到是jenkins使用了https证书,是不是java没有导入信任的证书导致的问题,于是各种方式导入,最后终于成功导入证书,但是还是会报错!



最终解决方式:

在这里插入图片描述

在这里插入图片描述

删除这个所谓的”高速缓存”,然后重新打开就解决问题了



版权声明:本文为Mico18原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。