java - install4j 无法从著名的 OpenJDK 提供商处下载 JDK 文件

标签 java ssl install4j

Install4j 允许用户使用 json 属性选择用于自动下载的 JDK:

 <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 提供者的服务器,您可以通过将相关目录转移到

$HOME/.install4j/jres/generated 

从您的开发机器到构建机器,则无需下载。这假设您已经为您的开发机器上的所有媒体文件运行了构建,因此所有 JRE 包都已生成。

关于java - install4j 无法从著名的 OpenJDK 提供商处下载 JDK 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61519350/

相关文章:

使用 DatagramChannels 和序列化时的 Java NIO BufferUnderflowException

c# - C# 和 Java 语法是 LALR(x) 吗?

ssl - 无法连接到 WebSphereMQ SSL channel

android - 如何在 Windows 上使用 Charles Web Proxy 和最新的 Android Emulator 配置 SSL 证书?

java - 使用Install4j确定是否安装了JRE

不支持 install4j J​​RE 捆绑的 Linux?

java - Swing 中的并发与 While 循环

java - 在 Java 中掷骰子

ssl - 您可以为带有 ssl 证书的子域设置别名吗

install4j - 如何使用 Install4J 将参数从启动程序传递到更新程序