增加gradle的超时以获取maven依赖项

rslzwgfq  于 9个月前  发布在  Maven
关注(0)|答案(2)|浏览(100)

我正在特灵通过grails 3.1.5gradle dependency Resolution从Maven获取jar依赖项。我如何增加gradle获取maven依赖项所需的超时时间。当然,我已经看到依赖项需要更长的时间才能下载。但我如何配置gradle等待更长的时间才能下载依赖项

aiazj4mn

aiazj4mn1#

该功能已在Gradle中添加:https://github.com/gradle/gradle/pull/3041
您可以使用2个属性来增加超时:

./gradlew build -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000

字符串
如Sue C所述,如果您使用的是gradle 4.10.2或更高版本,请使用以下属性:
第一个月

4smxwvx5

4smxwvx52#

我知道这是一个老问题,但我在Gradle 7.5和Java 17中遇到了相同的Java读取超时问题,这是返回的最佳搜索结果。
我在一台新机器上运行一个现有的gradlew Package 器脚本,并一直得到以下结果:

./gradlew build
Downloading https://services.gradle.org/distributions/gradle-7.5-bin.zip
...........10%............20%...........30%............40%...........50%............60%...........70%............80%...........90%............
Exception in thread "main" java.io.IOException: Downloading from https://services.gradle.org/distributions/gradle-7.5-bin.zip failed: timeout
    at org.gradle.wrapper.Download.downloadInternal(Download.java:110)
    at org.gradle.wrapper.Download.download(Download.java:67)
    at org.gradle.wrapper.Install$1.call(Install.java:68)
    at org.gradle.wrapper.Install$1.call(Install.java:48)
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
    at org.gradle.wrapper.Install.createDist(Install.java:48)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:288)
    at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:314)
    at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355)
    at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808)
    at java.base/java.net.Socket$SocketInputStream.read(Socket.java:976)
    at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:484)
    at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478)
    at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70)
    at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1465)
    at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1069)
    at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:282)
    at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343)
    at java.base/sun.net.www.MeteredStream.read(MeteredStream.java:141)
    at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132)
    at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3711)
    at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3704)
    at org.gradle.wrapper.Download.downloadInternal(Download.java:93)
    ... 7 more

字符串
添加-Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000没有帮助,它总是在10秒后超时(似乎是该服务器上的速率限制,但这是一个单独的问题)。
我读到那些超时设置适用于http和https。但事实证明这不是真的,将http更改为https工作:

./gradlew build -Dhttps.socketTimeout=60000 -Dhttps.connectionTimeout=60000
Downloading https://services.gradle.org/distributions/gradle-7.5-bin.zip
...........10%............20%...........30%............40%...........50%............60%...........70%............80%...........90%............100%

Welcome to Gradle 7.5!
...

相关问题