我试图离线(再次)脱离某个sbt项目。事情几乎似乎没问题,但有些奇怪的事情让我感到困惑。这是我注意到的:
我已经创建了一个空的sbt项目,并且正在考虑build.sbt中的以下依赖项:
name := "sbtSand"
version := "1.0"
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
"joda-time" % "joda-time" % "2.9.1",
"org.apache.spark" %% "spark-core" % "1.5.2"
)
我在线时构建了项目,可以看到[userhome] / .vy2 / cache中的所有软件包。该项目建设良好。然后我关闭wifi,sbt clean并尝试构建。构建失败。我评论了火花依赖性(保持joda-时间)。仍然离线,我运行sbt编译。该项目建设良好。我把火花依赖性重新放入,并且干净利落。它再次无法建立。我回到网上了。我可以再建一次。
失败版本的sbt输出如下:https://gist.github.com/ashic/9e5ebc39ff4eb8c41ffb
关键部分是:
[info] Resolving org.apache.hadoop#hadoop-mapreduce-client-app;2.2.0 ...
[warn] Host repo1.maven.org not found. url=https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-mapreduce-client-app/2.2.0/hadoop-mapreduce-client-app-2.2.0.pom
[info] You probably access the destination server through a proxy server that is not well configured.
有趣的是,sbt正在设法使用来自常春藤缓存的joda-time,但是对于spark-core包(或者更确切地说是它的依赖),它想要联系互联网并使构建失败。任何人都可以帮助我理解这一点,以及我能做些什么,以便我可以在完全离线时让它工作?
答案 0 :(得分:1)
似乎问题在0.13.9中得到解决。我用的是0.13.8。 [Windows的0.13.9 msi似乎给了我0.13.8,而0.13.9.2 msi安装了正确的版本。现有项目需要手动更新到构建属性中的0.13.9。]