Eclipse上でgradleプロジェクトファイルをインポートしようとしたらエラー IOException

Eclipse上でgradleプロジェクトファイルをインポートしようとしたらエラー IOException

事象

Eclipse上でgradleプロジェクトファイルをインポートしようとしたらエラー

エラー内容

ビルドコンソールで以下のエラー

C:\hoge>gradlew --scan build
Downloading https://services.gradle.org/distributions/gradle-3.5-all.zip

Exception in thread "main" java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 407"
        at sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:2124)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
        at org.gradle.wrapper.Download.downloadInternal(Download.java:60)
        at org.gradle.wrapper.Download.download(Download.java:45)
        at org.gradle.wrapper.Install$1.call(Install.java:62)
        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:61)

原因

Java 8 Update 111 (8u111)からHTTPSトンネリングのBasic認証の無効化がされており、それが原因でした。

解決策

無効化の参考

STS.ini
eclipse.iniに次のシステムプロパティを追加
「-Djdk.http.auth.tunneling.disabledSchemes=」

プロキシ設定も必要な場合はプロパティファイルに記述を追加
~/.gradle/gradle.properties

systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost

systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost

systemProp.jdk.http.auth.tunneling.disabledSchemes=""

参考

Salesforce: Java8のバージョンを上げたらSalesforceIDEで通信エラーが発生した件
gradleのプロキシ設定

gradleカテゴリの最新記事