install4j 无法从著名的 OpenJDK 提供商下载 JDK 档案
install4j fails to download JDK archives from well-known OpenJDK providers
Install4j 允许用户 select 一个 JDK 用于自动下载 json 属性:
<jreBundles jdkProviderId="Liberica" release="OpenJDK 11.0.6+10">
在我的桌面上,我可以干 运行 就好了,还可以从 bellsoft-
中获取 jdk
然而,当我在我的服务器上 运行 干燥 运行 时,出现以下错误并且无法获取 jdk。我可以在浏览器中从网站在线下载它,但没有问题,但使用 Install4j GUI 就不行。
> Creating JRE bundle:
> Finding JDK release OpenJDK 11.0.6+10 [windows-amd64]
> Downloading bellsoft-jdk11.0.6%2B10-windows-amd64.zip
>
> Build failed.
>
> Cause: java.net.SocketTimeoutException
> Read timed out Stack trace:
>
> com.exe4j.a.d: javax.net.ssl.SSLException: Read timed out at
> com.install4j.b.o.b(ejt:237) at com.install4j.gui.b.run(ejt:100)
> Caused by: javax.net.ssl.SSLException: Read timed out at
> java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
> at
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
> at
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
> at
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
> at
> java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:137)
> at
> java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152)
> at
> java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063)
> at
> java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
> at
> java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
> at
> java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
> at
> java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:163)
> at
> com.install4j.runtime.installer.helper.content.HttpRequestHandler.getURLConnection(HttpRequestHandler.java:288)
> at
> com.install4j.runtime.installer.helper.content.HttpRequestHandler.connect(HttpRequestHandler.java:135)
> at
> com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:155)
> at
> com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:24)
> at
> com.install4j.runtime.installer.helper.content.HttpRequestHandler.connect(HttpRequestHandler.java:128)
> at
> com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:150)
> at com.install4j.jdk.h.a(ejt:282) at com.install4j.jdk.h.a(ejt:19)
> at com.install4j.jdk.j.a(ejt:153) at
> com.install4j.jdk.j.invoke(ejt:19) at
> com.install4j.jdk.aa$a.a(ejt:18) at com.install4j.jdk.ak.a(ejt:61)
> at com.install4j.jdk.h.b(ejt:140) at com.install4j.jdk.h.a(ejt:97)
> at com.install4j.b.i.a(ejt:35) at com.install4j.b.c.h(ejt:942) at
> com.install4j.b.c.a(ejt:909) at com.install4j.b.c.W(ejt:890) at
> com.install4j.b.o.a(ejt:490) at com.install4j.b.o.b(ejt:166) ... 1
> more Caused by: java.net.SocketTimeoutException: Read timed out at
> java.base/java.net.SocketInputStream.socketRead0(Native Method) at
> java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
> at
> java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
> at
> java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
> at
> java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
> at
> java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165)
> at
> java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108)
> ... 27 more
如果构建服务器无法连接到 JDK 提供商的服务器,您可以通过转移
中的相关目录来避免创建 JRE 包
$HOME/.install4j/jres/generated
从您的开发机器到构建机器,则无需下载。这假设您已经 运行 开发机器上所有媒体文件的构建,因此所有 JRE 包都已生成。
Install4j 允许用户 select 一个 JDK 用于自动下载 json 属性:
<jreBundles jdkProviderId="Liberica" release="OpenJDK 11.0.6+10">
在我的桌面上,我可以干 运行 就好了,还可以从 bellsoft-
中获取 jdk然而,当我在我的服务器上 运行 干燥 运行 时,出现以下错误并且无法获取 jdk。我可以在浏览器中从网站在线下载它,但没有问题,但使用 Install4j GUI 就不行。
> Creating JRE bundle:
> Finding JDK release OpenJDK 11.0.6+10 [windows-amd64]
> Downloading bellsoft-jdk11.0.6%2B10-windows-amd64.zip
>
> Build failed.
>
> Cause: java.net.SocketTimeoutException
> Read timed out Stack trace:
>
> com.exe4j.a.d: javax.net.ssl.SSLException: Read timed out at
> com.install4j.b.o.b(ejt:237) at com.install4j.gui.b.run(ejt:100)
> Caused by: javax.net.ssl.SSLException: Read timed out at
> java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
> at
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
> at
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
> at
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
> at
> java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:137)
> at
> java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152)
> at
> java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063)
> at
> java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
> at
> java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
> at
> java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
> at
> java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:163)
> at
> com.install4j.runtime.installer.helper.content.HttpRequestHandler.getURLConnection(HttpRequestHandler.java:288)
> at
> com.install4j.runtime.installer.helper.content.HttpRequestHandler.connect(HttpRequestHandler.java:135)
> at
> com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:155)
> at
> com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:24)
> at
> com.install4j.runtime.installer.helper.content.HttpRequestHandler.connect(HttpRequestHandler.java:128)
> at
> com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:150)
> at com.install4j.jdk.h.a(ejt:282) at com.install4j.jdk.h.a(ejt:19)
> at com.install4j.jdk.j.a(ejt:153) at
> com.install4j.jdk.j.invoke(ejt:19) at
> com.install4j.jdk.aa$a.a(ejt:18) at com.install4j.jdk.ak.a(ejt:61)
> at com.install4j.jdk.h.b(ejt:140) at com.install4j.jdk.h.a(ejt:97)
> at com.install4j.b.i.a(ejt:35) at com.install4j.b.c.h(ejt:942) at
> com.install4j.b.c.a(ejt:909) at com.install4j.b.c.W(ejt:890) at
> com.install4j.b.o.a(ejt:490) at com.install4j.b.o.b(ejt:166) ... 1
> more Caused by: java.net.SocketTimeoutException: Read timed out at
> java.base/java.net.SocketInputStream.socketRead0(Native Method) at
> java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
> at
> java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
> at
> java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
> at
> java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
> at
> java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165)
> at
> java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108)
> ... 27 more
如果构建服务器无法连接到 JDK 提供商的服务器,您可以通过转移
中的相关目录来避免创建 JRE 包$HOME/.install4j/jres/generated
从您的开发机器到构建机器,则无需下载。这假设您已经 运行 开发机器上所有媒体文件的构建,因此所有 JRE 包都已生成。