Install4J构建失败抛出SocketTimeoutException异常如何解决?
Install4J构建时出现SocketTimeoutException的解决方法
问题描述
我已安装Install4J Multi-Platform Edition 10.0.2(build 10046)试用版,同时安装了JDK 17.0.4和64位JDK 1.8.333。每次尝试构建时都会出现以下异常:
Preparing configuration Creating directory for temporary files Directory for temporary media files is C:\Users\RAMCHA~1\AppData\Local\Temp\install4j10000746811088592861_dir Finding JDK release 8/latest [windows-amd64] Build failed. Cause: java.net.SocketTimeoutException timeout (loc: 4) Stack trace: com.exe4j.a.d: java.net.SocketTimeoutException: timeout (loc: 4) at com.install4j.b.j.b(ejt:287) at com.install4j.gui.b.run(ejt:103) Caused by: java.net.SocketTimeoutException: timeout (loc: 4) at com.install4j.runtime.installer.platform.win32.wininet.CallImpl.checkExceptionAndClose(CallImpl.java:60) at com.install4j.runtime.installer.platform.win32.wininet.CallImpl.sendRequest(CallImpl.java:118) at com.install4j.runtime.installer.platform.win32.wininet.WinInet.open(WinInet.java:150) at com.install4j.runtime.installer.helper.content.WinInetCallWrapper.connect(WinInetCallWrapper.java:57) at com.install4j.runtime.installer.helper.content.HttpRequestHandler.createWindowsConnection(HttpRequestHandler.java:154) at com.install4j.runtime.installer.helper.content.HttpRequestHandler.connect(HttpRequestHandler.java:129) at com.install4j.runtime.installer.helper.content.TextRequestHandler.connect(TextRequestHandler.java:99) at com.install4j.jdk.spi.impl.a.a(ejt:123) at com.install4j.jdk.spi.impl.AdoptOpenJdkProvider.a(ejt:37) at com.install4j.jdk.spi.impl.a.a(ejt:120) at com.install4j.jdk.spi.impl.AdoptOpenJdkProvider.a(ejt:53) at com.install4j.jdk.spi.impl.AdoptOpenJdkProvider.a(ejt:14) at com.install4j.jdk.spi.impl.AdoptOpenJdkProvider$a$1$1.invokeSuspend(ejt:19) at com.install4j.jdk.spi.impl.AdoptOpenJdkProvider$a$1$1.a(ejt) at com.install4j.jdk.spi.impl.AdoptOpenJdkProvider$a$1$1.invoke(ejt) at com.install4j.jdk.spi.impl.a$a$a.invokeSuspend(ejt:134) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Suppressed: java.net.SocketTimeoutException: timeout (loc: 4) ... 24 more Suppressed: java.net.SocketTimeoutException: timeout (loc: 4) ... 24 more Suppressed: java.net.SocketTimeoutException: timeout (loc: 4) ... 24 more
解决方法
指定本地已安装的JDK,禁用自动下载
日志显示Install4J在尝试在线下载JDK 8,但网络超时。直接用本地已有的JDK 1.8.333即可:- 打开Install4J项目配置界面
- 切换到JDKs选项卡
- 点击Add JDK,选择本地JDK 1.8.333的安装路径(例如
C:\Program Files\Java\jdk1.8.0_333) - 在构建配置中,选中这个本地JDK作为构建使用的目标JDK
调整网络超时与代理设置
如果需要在线下载JDK,可调整网络参数:- 打开Install4J的偏好设置(Preferences)
- 找到网络(Network)相关设置项
- 延长网络超时时间(比如设置为60秒以上)
- 若处于代理网络环境,正确配置代理地址与认证信息
排查网络访问限制
确认防火墙、杀毒软件或企业网络策略没有拦截Install4J访问Adoptium服务器的请求,可尝试手动访问相关域名验证网络连通性
内容的提问来源于stack exchange,提问作者Ram
相关产品推荐
相关产品推荐

