我有一个项目,很好地构建在Unix盒(http://www.github.com/jhclark/ducttape)上。
然而,使用SBT 0.11.2 (以及一些其他版本的SBT),它将不能在我的Mac (OSX 10.5)上构建。我得到了以下隐秘的错误消息:
$ ~/bin/sbt compile (master*? 20:11)
[info] Loading project definition from /Users/jon/Documents/workspace- scala/ducttape/project
[info] Set current project to ducttape (in build file:/Users/jon/Documents/workspace-scala/ducttape/)
[info] Compiling 104 Scala sources to /Users/jon/Documents/workspace-scala/ducttape/target/scala-2.9.2/classes...
[error] error while loading <root>, error in opening zip file
[error] {file:/Users/jon/Documents/workspace-scala/ducttape/}default-024416/compile:compile: scala.tools.nsc.MissingRequirementError: object scala not found.
[error] Total time: 2 s, completed May 27, 2012 8:12:09 PM即使我用以下命令彻底清理了所有东西,也会发生这种情况:
sbt clean clean-files
rm -rf ~/.ivy2 ~/.m2 ~/.sbt我怀疑真正的错误发生在Maven2中,SBT使用它来管理依赖项(另请参阅Maven : error in opening zip file when running maven)。
然而,几天后我就被难住了。有什么想法吗?
发布于 2012-05-29 22:23:56
当我尝试在sbt-0.11.3中使用旧版本的sbt-extras启动器时,我也遇到了类似的问题。在我的例子中,它试图下载一个不存在的文件,并试图解压缩404错误页面。用于sbt-0.11.3的最新sbt-extras启动器has been fixed。
你的听起来不一样,但它们可能是由于the shutdown of scala-tools.org。如果可以,我建议您升级到sbt-0.11.3。
如果您需要继续使用0.11.2,您应该使用0.11.3-2启动器,将sbt.version=0.11.2放入project/build.properties,并禁用build.sbt中的scalaTools代码库。马克哈拉posted info在SBT邮件列表上。
如果这不起作用,出于某种原因,您正在从某个地方下载损坏的.jar。
运行命令find ~/.ivy2 ~/.m2 ~/.sbt -name "*.jar" -exec unzip -qqt {} \;以查找损坏的jar。损坏的jar中的内容可能会给您一个线索,告诉您出了什么问题。
发布于 2013-04-10 00:53:03
为了完成,我遇到了同样的问题,它是一个损坏的zip/jar文件。
但是,Dave的命令行会检查通常的类路径目录,即您的jar可能所在的位置。
给我带来麻烦的实际上是我的projects ./lib文件夹。我为此苦苦挣扎了几个小时,希望这能帮助到其他人。
附言:非常感谢Dave!
发布于 2013-08-31 02:57:41
我只是遇到了同样的问题(在OSX上,在Scala 2.10.2上),但这个问题并不存在于我的任何依赖项管理器代码库中,也不存在于SBT或Scala中(对于某些人而言)。
出于其他原因,我在/Library/Java/Home/lib/ext/中放入了一个JAR,但没有使它成为组可读和全局可读的。只有root (它的所有者)可以读取它。我调整了权限,瞧。Scala和SBT突然又能工作了。
cd /Library/Java/Home/lib/ext
sudo chmod g+r bcprov-jdk15on-1.47.jar
sudo chmod g+a bcprov-jdk15on-1.47.jarhttps://stackoverflow.com/questions/10778189
复制相似问题