互联网工作正常,但我从sdkman收到此错误:
public abstract class BASE<T> where T:BASE<T>
{
public BASE() {}
public abstract T clone();
}
public class CHILD : BASE<CHILD>
{
public CHILD() : base() {}
public override CHILD clone()
{
return new CHILD();
}
}
我的DNS似乎解决得非常慢。我可以ping,但分辨率大约需要7秒。这会导致sdkman超时吗?
有什么想法?调试的下一步是什么?谢谢!
答案 0 :(得分:8)
您需要在配置文件中设置curl connect timeout
和curl max time
,该文件在以下路径中分配:
$YOUR_HOME/.sdkman/etc/config
以下内容:
sdkman_curl_connect_timeout = 20
sdkman_curl_max_time = <强> 0 强>
我希望这会对你有所帮助
答案 1 :(得分:1)
不同的应用程序使用不同的设置来建立网络连接。
在我的情况下(我使用Macbook Pro通过代理访问互联网),虽然我在系统偏好设置 - &gt;网络 - &gt;高级 - &gt;代理中设置了http和https代理。它确实对浏览器(Safari)生效,但对 sdkman 命令行工具无效。
我必须手动设置环境变量 http_proxy 和 https_proxy 。
以下是我在Macbook Pro上设置的内容。
export http_proxy=http://proxy.abc.com:2500
export https_proxy=https://proxy.abc.com:2500
然后sdkman工作正常。
答案 2 :(得分:1)
好吧,我必须努力让SDKMAN让我下载软件包。我在公司代理后面,并使用CNTLM在本地计算机上解决该问题。
下载后,我必须在本地计算机上编辑sdkman文件。
下载也很重要。对我来说,在curl命令中添加-x http://localhost:3128是可行的。 我采取的步骤来安装Gradle:
成功了。请记住,关闭终端并在每个步骤之后打开一个新终端。
答案 3 :(得分:0)
看起来它现在正在运行......可能是服务器端的一个问题?或者也许是我身边的间歇性网络问题。无论如何,下一次危机......:)
答案 4 :(得分:0)
修复对我来说是两个步骤:
sdkman-init.sh
(chmod +x .sdkman/bin/sdkman-init.sh
)上设置可执行位~/sdkman/etc/config
,设置sdkman_curl_connect_timeout=30
sdkman_curl_max_time=50
别忘了重启终端。
答案 5 :(得分:0)
我遇到了同样的问题(在公司代理后面)。
就我而言,设置了 http_proxy
和 https_proxy
环境变量。
有趣的是,大多数发行版不编译具有(相当不常见的)https_proxy
支持的 openssl,因此 curl 失败:
curl https://www.google.com
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to proxy.company.com:3128
我的问题的解决方案:
unset https_proxy
取消设置 https_proxy
后,curl 和 sdkman
(因为它们似乎使用 openssl)都开箱即用。
答案 6 :(得分:-1)
我遇到了这个问题。问题是我的互联网服务提供商阻止了它。您可以通过使用其他互联网或使用VPN来解决此问题。