首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >-> MissingRequirementError上的Scala / Maven2错误:“打开压缩文件时出错”

-> MissingRequirementError上的Scala / Maven2错误:“打开压缩文件时出错”
EN

Stack Overflow用户
提问于 2012-05-28 08:20:08
回答 3查看 4.3K关注 0票数 5

我有一个项目,很好地构建在Unix盒(http://www.github.com/jhclark/ducttape)上。

然而,使用SBT 0.11.2 (以及一些其他版本的SBT),它将不能在我的Mac (OSX 10.5)上构建。我得到了以下隐秘的错误消息:

代码语言:javascript
复制
$ ~/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

即使我用以下命令彻底清理了所有东西,也会发生这种情况:

代码语言:javascript
复制
sbt clean clean-files
rm -rf ~/.ivy2 ~/.m2 ~/.sbt

我怀疑真正的错误发生在Maven2中,SBT使用它来管理依赖项(另请参阅Maven : error in opening zip file when running maven)。

然而,几天后我就被难住了。有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 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中的内容可能会给您一个线索,告诉您出了什么问题。

票数 8
EN

Stack Overflow用户

发布于 2013-04-10 00:53:03

为了完成,我遇到了同样的问题,它是一个损坏的zip/jar文件。

但是,Dave的命令行会检查通常的类路径目录,即您的jar可能所在的位置。

给我带来麻烦的实际上是我的projects ./lib文件夹。我为此苦苦挣扎了几个小时,希望这能帮助到其他人。

附言:非常感谢Dave!

票数 2
EN

Stack Overflow用户

发布于 2013-08-31 02:57:41

我只是遇到了同样的问题(在OSX上,在Scala 2.10.2上),但这个问题并不存在于我的任何依赖项管理器代码库中,也不存在于SBT或Scala中(对于某些人而言)。

出于其他原因,我在/Library/Java/Home/lib/ext/中放入了一个JAR,但没有使它成为组可读和全局可读的。只有root (它的所有者)可以读取它。我调整了权限,瞧。Scala和SBT突然又能工作了。

代码语言:javascript
复制
cd /Library/Java/Home/lib/ext
sudo chmod g+r bcprov-jdk15on-1.47.jar
sudo chmod g+a bcprov-jdk15on-1.47.jar
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10778189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档