我正在尝试构建Spark的0.5分支,但是会引发错误:
sbt.ResolveException:未解决的依赖项:com.eed3si9n#sbt-assembly; 0.8.3:找不到
因此,我从dl.bintray.com手动下载了ivys
和jars
,并将它们放入我的本地.ivy
文件夹中。
具体来说,我在sbt-assembly
下创建一个com.eed3si9n
,并将文件重命名为:
但是,这不起作用。正确的解决方法是什么?
答案 0 :(得分:4)
Spark branch-0.5
根据project/build.properties
使用sbt 0.11.3,所以已经很老了。
project/plugins.sbt
中存在一个错误。它指向scalasbt.artifactoryonline.com
,但应指向repo.scala-sbt.org
。
$ git diff
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 63d789d0c1..70dcfdba00 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,7 +1,7 @@
resolvers ++= Seq(
"sbt-idea-repo" at "http://mpeltonen.github.com/maven/",
Classpaths.typesafeResolver,
- Resolver.url("sbt-plugin-releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)
+ Resolver.url("sbt-plugin-releases", new URL("http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)
)
要运行旧版本的sbt,有必要使用旧版本的JDK。在这种情况下,为JDK 1.6。但是,在macOS上,JLine 1.6的JLine存在问题,因此我不得不禁用JLine。
$ jenv shell 1.6
$ java -version
java version "1.6.0_65"
...
$ sbt/sbt -Djline.terminal=jline.UnsupportedTerminal
这应该启动sbt shell。出现后,输入:
> package