sbt插件依赖项未从nexus解析 - 服务器访问错误:连接超时

时间:2018-02-15 19:54:58

标签: scala intellij-idea playframework sbt nexus

我有一个使用sbt v0.13.11的Play Framework项目(v2.5.3)。我已经安装了最新版本的sbt 1.1.0(我需要安装旧版本吗?)。我还安装了最新版的Intellij 2017.3。我们正在使用企业nexus服务器来解决sbt依赖关系。

我的存储库文件设置如下:

[repositories]  
local  
my-ivy-proxy-releases:http://nexus.xxx.com:8081/nexus/repository/ivy-releases/[organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]  
my-maven-proxy-releases:http://nexus.xxx.com:8081/nexus/repository/mvn-repositories/  

我设置了一个环境变量:

SBT_OPTS = -Dsbt.override.build.repos = true

当我在Intellij中加载项目时,sbt刷新卡住了从sbt-uglify插件中解析依赖项。我知道这是sbt-uglify,因为我评论了所有的插件,以找出问题所在。

plugins.sbt:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.3")  
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")  
addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.0")  
addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.3")  
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.9")  
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.3")  
addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.1.0")  
addSbtPlugin("com.typesafe.sbt" % "sbt-gzip" % "1.0.2")  
addSbtPlugin("com.typesafe.sbt" % "sbt-uglify" % "2.0.0")  

以下是我在Intellij中收到的错误/警告:

[info] Resolving org.webjars.npm#right-align;[0.1.1,0.2) ...  
[error] Server access Error: Connection timed out: connect  
url=https://repo.typesafe.com/typesafe/ivy-releases/org.webjars.npm/right-align/
[error] Server access Error: Connection timed out: connect  
url=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.webjars.npm/right-align/  
[error] Server access Error: Connection timed out: connect 
url=https://repo1.maven.org/maven2/org/webjars/npm/right-align/maven-metadata.xml  
[error] Server access Error: Connection timed out: connect  
url=https://repo1.maven.org/maven2/org/webjars/npm/right-align/
[warn] problem while listing resources in http://nexus.xxx.com:8081/nexus/repository/ivy-releases/org.webjars.npm/right-align/ with my-ivy-proxy-releases:
[warn]   java.lang.NullPointerException charsetName

完全解决所有问题大约需要一个小时,因为它会尝试解决大约10个不同的org.webjars.npm库的依赖关系,并尝试每次尝试4个不同的网址。请注意,该项目无法编译。它最终从我们的nexus中提取了库,但是只有在超时其他url之后。如果在命令提示符下我sbt clean compile,我仍然会收到警告,但解决时间可能会缩短(可能需要几分钟)。

安装node.js(编译器抱怨它无法找到js引擎)暂时解决了这个问题,直到build.sbt发生了变化并且必须刷新项目。

问题如下:
1.为什么在Intellij vs命令提示符下解决需要更长的时间? 2.为什么sbt不首先访问nexus存储库? 3.是否可以摆脱错误/警告或至少减少超时?

0 个答案:

没有答案