1

我有一个问题,我的 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。

当 myplugins.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")

plugins.sbt 中的行,构建功能正常。

我使用一个简单的测试项目重新创建了这个问题,该项目只创建了一个带有单行打印语句的 Scala 类。该问题继续独立于我在 plugins.sbt 和 build.sbt 文件中定义的任何其他插件、存储库或库依赖项发生。

简单的测试项目位于Github 上的 testproject

REST 服务位于Github 上的 airport-web

请注意,REST 服务已经注释掉了 plugins.sbt 中的 addSbtPlugin...sbteclipse 行。

4

2 回答 2

1

首先,您必须确定您正在使用的女巫 sbt 版本,您的路径中可能有一个意想不到的版本。您可以通过以下方式进行检查:

sbt sbt-version

如果您知道您的版本是什么,您可以选择正确的版本。

  • sbt 版本 -> sbteclipse 版本
  • 0.13 及更高版本......-> 2.4.0
  • 0.12 .... -> 2.1.2
  • 0.11.3....... -> 2.1.1
  • 0.11.2....... -> 2.0.0
于 2014-04-23T19:33:51.230 回答
0

我遇到了同样的问题,我完成了使用所有内容的最新版本:

sbt:0.13.2 sbteclipse:2.5.0

我删除了我的项目的所有 Eclipse 配置文件(.classpath、.cache、.project、...) 我删除了以前版本的 sbt 生成的所有文件夹(target、bin、..)我还从家里删除了所有 java 库~ /.ivy2 以避免与以前下载的版本可能发生冲突

然后我编译为:sbt compile 然后我将 plugins.sbt 添加到 /project 文件夹并再次调用:sbt eclipse。

没有出现更多错误,我成功从 eclipse 导入。我不确定出了什么问题,因为我没有在网上找到任何东西。但这对我有用。

于 2014-05-15T16:41:16.793 回答