【问题标题】:ConnectException (timed out) running groovy Koans with gradle wrapperConnectException(超时)使用 gradle wrapper 运行 groovy Koans
【发布时间】:2014-06-06 00:04:52
【问题描述】:

我正在尝试运行 groovy koans http://groovykoans.org/,当我使用 gradlew 脚本时,它会尝试从 Internet 下载 gradle(来自 http://services.gradle.org/distributions/gradle-1.8-bin.zip

但它会因连接超时异常而崩溃。我可以从 Firefox 下载文件。我已经按照说明在命令行中包含了 http 代理 args,我可以从我的机器上 ping services.gradle.org。

我在窗户上。

C:\Users\me\My Documents\documents\work\build_system\groovykoans-master>gradlew removeSolutions -Dhttp.proxyHost=proxy.blah.com -Dhttp.proxyPort=8000
Downloading http://services.gradle.org/distributions/gradle-1.8-bin.zip

Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException: Connection timed out: connect
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
    at org.gradle.wrapper.Install.createDist(Install.java:47)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:378)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:473)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:203)
    at sun.net.www.http.HttpClient.New(HttpClient.java:290)
    at sun.net.www.http.HttpClient.New(HttpClient.java:306)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:995)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:931)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:849)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299)
    at org.gradle.wrapper.Download.downloadInternal(Download.java:59)
    at org.gradle.wrapper.Download.download(Download.java:45)
    at org.gradle.wrapper.Install$1.call(Install.java:60)
    at org.gradle.wrapper.Install$1.call(Install.java:47)
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
    ... 3 more

如果我无法解决连接问题,是否可以手动安装已通过浏览器成功下载的 gradle 并绕过 gradlewrapper 的下载步骤?

【问题讨论】:

    标签: java windows groovy gradle gradlew


    【解决方案1】:

    好吧,我设法弄清楚了 gradle zip 的放置位置(C:\Users\me\.gradle\wrapper\dists\gradle-1.8-bin\vruqmccc8532n7gr46qavsii8 所以我把我单独下载的 zip 放在那里,它得到了我过去的问题。

    但是从那以后我也意识到我是在命令之后而不是在命令之前指定 -Dhttp 属性,所以我怀疑如果我这样做了它会起作用。 (虽然没有用干净的安装区域重试)即我应该有

    gradlew -Dhttp.proxyHost=proxy.blah.com -Dhttp.proxyPort=8000 removeSolutions
    

    代替:

    gradlew removeSolutions -Dhttp.proxyHost=proxy.blah.com -Dhttp.proxyPort=8000
    

    呃!

    【讨论】:

    • 对于 https 使用:gradlew.bat -Dhttps.proxyHost=proxy.blah.com -Dhttps.proxyPort=8000 assembleRelease
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多