ConnectException(超时)用gradle包装器运行groovy Koans

and*_*rea 1 java windows groovy gradle gradlew

我试图运行常规koans http://groovykoans.org/,当我使用gradlew脚本它试图从互联网上下载的gradle产出(从http://services.gradle.org/distributions/gradle-1.8-bin .zip)

但它因连接超时异常而崩溃.我可以从firefox下载文件.我按照说明在命令行中包含了http proxy args,我可以从我的机器ping service.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
Run Code Online (Sandbox Code Playgroud)

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

and*_*rea 5

好吧,我设法找到了放置gradle zip的地方(C:\ Users\me\.gradle\wrapper\dists\gradle-1.8-bin\vruqmccc8532n7gr46qavsii8所以我把我单独下载的拉链放在那里,它让我经过了问题.

但是从那以后我也意识到我在命令之后指定-Dhttp属性,而不是在它之前,所以我怀疑我是否已经完成它会起作用.(虽然没有用清洁的安装区域重试它),即我应该有

gradlew -Dhttp.proxyHost=proxy.blah.com -Dhttp.proxyPort=8000 removeSolutions
Run Code Online (Sandbox Code Playgroud)

代替:

gradlew removeSolutions -Dhttp.proxyHost=proxy.blah.com -Dhttp.proxyPort=8000
Run Code Online (Sandbox Code Playgroud)

咄!

  • 对于 https 使用: gradlew.bat -Dhttps.proxyHost=proxy.blah.com -Dhttps.proxyPort=8000 assembleRelease (2认同)