我有一个问题,我的Scala项目无法在sbt 0.13.1和Scala 2.10.3中构建,除非我不尝试添加sbteclipse插件(2.4.0)。
我最近从Linux Mint 14 Xfce切换到Fedora 20 Xfce。当我使用Linux Mint 14时,我使用Scala,Akka,Spray和Slick开发了一个小型的RESTful服务,并使用sbt构建。安装 Fedora 20 后,我安装了恢复该 REST 服务工作所需的所有软件包。为此,我跑了
yum install -y java
yum install -y scala
yum install -y sbt
这安装了OpenJDK 1.7.0_51,Scala 2.10.3和sbt 0.13.1。
当我的plugins.sbt
包含该行时
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")
从命令行运行sbt
会生成以下错误:
sbt.ResolveException: unresolved dependency: org.scala-lang#scala-library;2.10.3: configuration not found in org.scala-lang#scala-library;2.10.3: 'compile'
无论plugins.sbt
位于<projectfolder>/project
还是~/.sbt/0.13/plugins
,这都是一个问题。
当我注释掉
// addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")
行,构建功能正常。
我使用一个简单的测试项目重现了这个问题,该项目只创建了一个带有单行打印语句的 Scala 类。该问题继续独立于我在 plugins.sbt 和 build.sbt 文件中定义的任何其他插件、存储库或库依赖项而发生。
简单的测试项目位于Github上的testproject。
REST服务位于Github上的airport-web
请注意,REST 服务已注释掉 addSbtPlugin...插件中的 sbteclipse line .sbt.
首先,你必须确定你使用的是女巫SBT版本,你可能有一个意想不到的版本在你的路径上。您可以通过以下方式进行检查:
sbt sbt-version
一个你知道你的版本是什么,你可以选择正确的版本。
- SBT 版本 -> SBTE食版本
- 0.13及以上...-> 2.4.0
- 0.12 ... -> 2.1.2
- 0.11.3 -> 2.1.1
- 0.11.2.-> 2.0.0
我遇到了同样的问题,我完成了使用所有内容的最新版本:
SBT:0.13.2Sbteclipse:2.5.0
我删除了项目的所有 eclipse 配置文件(.classpath,.cache,.project,...)我删除了以前版本的 sbt 生成的所有文件夹(目标、bin,..)我还从主页中删除了所有 java 库 ~/.ivy2,以避免与以前下载的版本发生冲突
然后我编译为:sbt编译然后我将plugins.sbt添加到/project文件夹中,并再次调用:sbt eclipse。
没有出现更多的错误,我成功地从日食导入。我不确定出了什么问题,因为我在网上没有找到任何东西。但这对我有用。