sbt-launch-jar文件无效或损坏



我一直试图在我的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

最新更新