在代理后面运行SBT

时间:2018-04-25 16:44:21

标签: bash scala proxy sbt

我正在尝试在公司代理服务器后面运行SBT示例。

sbt new sbt/scala-seed.g8

我按照说明设置了代理:

export   SBT_OPTS="$SBT_OPTS    -Dhttp.proxyHost=myusername:mypassword@correcthost  -Dhttp.proxyPort=correctport   -Dhttps.proxyHost=myusername:mypassword@correcthost -Dhttps.proxyPort=correctport"

显示错误:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scala-sbt.sbt-giter8-resolver#sbt-giter8-resolver_2.12;0.1.3: public: unable to get resource for org/scala-sbt/sbt-giter8-resolver#sbt-giter8-resolver_2.12;0.1.3: res=https://repo1.maven.org/maven2/org/scala-sbt/sbt-giter8-resolver/sbt-giter8-resolver_2.12/0.1.3/sbt-giter8-resolver_2.12-0.1.3.pom: java.net.UnknownHostException: myusername:mypassword@correcthost: invalid IPv6 address
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] java.lang.RuntimeException: Retrieval of org.scala-sbt.sbt-giter8-resolver:sbt-giter8-resolver:0.1.3 failed.

为什么会抛出invalid IPv6 address错误? 如何为SBT正确设置代理?

感谢。

2 个答案:

答案 0 :(得分:0)

据我所知,https://console.firebase.google.com/project/<projectId>不应采用这种格式。相反,您需要在-Dhttps.proxyHost=myusername:mypassword@correcthost中提供以下设置,并且当然必须设置变量:

~/.profile

因此,用户名和密码将以其自己的设置覆盖(export SBT_OPTS="-Dhttp.proxyHost=${PROXY_HOST} -Dhttp.proxyPort=${PROXY_PORT} -Dhttps.proxyHost=${PROXY_HOST} -Dhttps.proxyPort=${PROXY_PORT} -Dhttp.proxyUser=$USER -Dhttp.proxyPassword=$PASS -Dhttps.proxyUser=$USER -Dhttps.proxyPassword=$PASS" )。

答案 1 :(得分:0)

如果您使用的是需要身份验证的代理,那么我为您提供了一种解决方案:)

SBT很难处理需要身份验证的代理。解决方案是,如果您无法按需关闭代理(例如,企业代理),则绕过此身份验证。为此,建议您使用一个鱿鱼代理,并使用用户名和密码对其进行配置,以访问公司代理。请参阅:https://doc.ubuntu-fr.org/squid然后,您可以设置JAVA_OPTS或SBT_OPTS环境变量,以便SBT连接到您自己的本地鱿鱼代理而不是公司代理:

export JAVA_OPTS = "-Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128"

(只需在您的bashrc中对此进行c / c,而无需进行任何修改,它应该可以正常工作)。

诀窍在于,Squid代理不需要任何身份验证,并且充当SBT与您的其他代理之间的中介。

如果您在使用此建议时遇到麻烦,请告诉我。

此致

埃德加