【问题标题】:SBT can't resolve dependencies through proxySBT 无法通过代理解决依赖关系
【发布时间】:2015-10-27 07:30:06
【问题描述】:

当我运行sbt update 时出现此错误

    :: problems summary ::
:::: WARNINGS
        ::::::::::::::::::::::::::::::::::::::::::::::

        ::          UNRESOLVED DEPENDENCIES         ::

        ::::::::::::::::::::::::::::::::::::::::::::::

        :: org.scala-sbt#sbt;0.13.8: several problems occurred while resolving dependency: org.scala-sbt#sbt;0.13.8 {default=[default(compile)]}:
    java.util.NoSuchElementException
    java.util.NoSuchElementException

        ::::::::::::::::::::::::::::::::::::::::::::::



:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
unresolved dependency: org.scala-sbt#sbt;0.13.8: several problems occurred while resolving dependency: org.scala-sbt#sbt;0.13.8 {default=[default(compile)]}:
    java.util.NoSuchElementException
    java.util.NoSuchElementException
Error during sbt execution: Error retrieving required libraries
  (see /Users/$USER/.sbt/boot/update.log for complete log)
Error: Could not retrieve sbt 0.13.8

我已经将系统设置为使用代理与 curl 和 homebrew 一起使用,但由于某些原因 sbt 无法使用相同的设置。当我关闭代理时,它会在超时前挂起几分钟,并且我没有收到上述错误。

我也试过这个,但没有任何运气

# export JAVA_FLAGS= -Dhttp.proxyHost=$domain -Dhttp.proxyPort=$portnum -Dhttp.proxyUser=$USER -Dhttp.proxyPassword=$password -Dhttps.proxyHost=$domain -Dhttps.proxyPort=$portnum -Dhttps.proxyUser=$USER -Dhttps.proxyPassword=$password -Dftp.proxyHost=$domain -Dftp.proxyPort=$portnum -Dftp.proxyUser=$USER -Dftp.proxyPassword=$password -Dhttp.nonProxyHosts=$noproxy -Dhttps.nonProxyHosts=$noproxy -Dftp.nonProxyHosts=$noproxy
    # java ${JAVA_FLAGS}

我用来做hombrew和curl工作的方法是

export http_proxy=$http_proxy
    export https_proxy=$http_proxy
    export ftp_proxy=$http_proxy
    export rsync_proxy=$http_proxy
    export HTTP_PROXY=$http_proxy
    export HTTPS_PROXY=$http_proxy
    export FTP_PROXY=$http_proxy
    export RSYNC_PROXY=$http_proxy

有什么建议吗?

谢谢

【问题讨论】:

标签: scala proxy sbt


【解决方案1】:

我不确定您的 JAVA_FLAGS 是否包含/导出到类路径,如果没有在尝试此解决方案之前将其添加到类路径。

我的决定: 我不知道您使用的是哪个 IDE,我遇到了同样的问题(我使用 IntelliJ 14)。如果您使用不同的IDE,请尝试与您的IDE相关,基本上通过VM参数设置它。

我已经通过添加 vm 参数解决了这个问题...

在 IntelliJ 中添加的步骤:

文件 -> 默认设置 -> 在构建、执行、部署下

构建工具 -> SBT ->

JVM Options -> 像这样在“VM 参数”中设置

-Dhttp.proxyHost=http://proxy.xxxx.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=http://proxy.xxx.com -Dhttps.proxyPort=8080 -XX:MaxPermSize=384M -Duser.home=/Users/yourusername/ -Dsbt。 ivy.home=/Users/你的用户名/.ivy2

祝你好运

【讨论】:

  • 我也有同样的问题。我被困在代理后面。设置 git、pip 和 conda 工作没有问题,但 sbt 无法使用它,无论我使用哪个 -Dkey=value 作为代理。
猜你喜欢
  • 2016-02-13
  • 2014-12-18
  • 2014-01-12
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 2016-02-16
  • 2017-02-20
相关资源
最近更新 更多