我一直试图在我的MacOSX上安装spark。我已经使用brew安装了Scala和Sbt。在下载并卸载spark-1.4.1(我也尝试过spark-1.2.1和spark-1.1.1)之后,我运行-
sbt/sbt clean assembly
每次都是相同的错误:
Invalid or corrupt jarfile sbt/sbt-launch-0.13.5.jar
我已经尝试了上面提到的更改名称和手动安装sbt的解决方案,但这些似乎都不起作用。我看到人们在stackoverflow上问了很多问题,解决方案似乎并不一致。有人能帮我一下吗?
哎呀。如果您查看这个"jar"文件的内容,它实际上是一个HTML 404文档。我要报告一个bug。
如果您决定构建一个发行版,那么Maven构建将得到更好的维护(很明显!)我使用SBT构建只是为了"玩",然后我只使用我的酿造安装的SBT,而不是这个捆绑的(更像它…)。
UPDATE:构建脚本build/sbt
应该按需下载jar文件。我认为有人用这个虚假的HTML文件构建了tgz文件,而没有先检查它。我正在调查,我会提交一个错误报告。
同时,只需删除build/sbt-launch-0.13.7.jar
并再次尝试运行build/sbt
(sbt/sbt
已过时,仅调用build/sbt
)。
UPDATE2:废话,删除文件没有帮助。我错了,伪造的jar文件包括在内。我认为它试图读取的url是坏的。站在…
最终更新:好消息是这个错误在1.5中被修复了。现在,只需下载http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.7/sbt-launch.jar
,将其移动到build
目录,并将其重命名为sbt-launch-0.13.7.jar
。那么build/sbt
就可以了
在build/sbt-launch-lib。bash编辑与
对应的行if [ $(command -v curl) ]; then
(curl --fail --location --silent ${URL1} > ${JAR_DL} ||
(rm -f "${JAR_DL}" && curl --fail --location --silent ${URL2} ${JAR_DL})) &&
mv "${JAR_DL}" "${JAR}"
elif [ $(command -v wget) ]; then
(wget --quiet ${URL1} -O ${JAR_DL} ||
(rm -f "${JAR_DL}" && wget --quiet ${URL2} -O ${JAR_DL})) &&
mv "${JAR_DL}" "${JAR}"
else
然后再试一次,运行sbt组装命令
sbt/sbt assembly