I';我使用Scala 2.11.7,但sbt试图将我的类编译为target/Scala-2.10

I';我使用Scala 2.11.7,但sbt试图将我的类编译为target/Scala-2.10,scala,sbt,Scala,Sbt,我正在尝试运行一个简单的ScalatraServlet 当我编译时,我可以看到它无法导入任何Scalatra组件。奇怪的是,尽管我使用的是scala 2.11,它还是试图编译到一个名为scala-2.10/classes的目录中 我的项目出了什么问题 sal@gruntyman:~/workspace/funproxy$ sbt compile [info] Loading project definition from /home/sal/workspace/funproxy/project

我正在尝试运行一个简单的ScalatraServlet

当我编译时,我可以看到它无法导入任何Scalatra组件。奇怪的是,尽管我使用的是scala 2.11,它还是试图编译到一个名为scala-2.10/classes的目录中

我的项目出了什么问题

sal@gruntyman:~/workspace/funproxy$ sbt compile
[info] Loading project definition from /home/sal/workspace/funproxy/project
[info] Set current project to funproxy (in build file:/home/sal/workspace/funproxy/)
[info] Updating {file:/home/sal/workspace/funproxy/}funproxy...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 3 Scala sources to /home/sal/workspace/funproxy/target/scala-2.10/classes...
[error] /home/sal/workspace/funproxy/src/main/scala/ProxyServlet.scala:5: object scalatra is not a member of package org
[error] import org.scalatra.ScalatraServlet
[error]            ^
[error] /home/sal/workspace/funproxy/src/main/scala/ProxyServlet.scala:7: not found: type ScalatraServlet
[error] class ProxyServlet extends ScalatraServlet with ScalateSupport {
[error]                            ^
[error] /home/sal/workspace/funproxy/src/main/scala/ProxyServlet.scala:7: not found: type ScalateSupport
[error] class ProxyServlet extends ScalatraServlet with ScalateSupport {
[error]                                                 ^
[error] /home/sal/workspace/funproxy/src/main/scala/ProxyServlet.scala:11: not found: value get
[error]   get("/") {
[error]   ^
[error] four errors found
[error] (compile:compileIncremental) Compilation failed
[error] Total time: 0 s, completed 31-Jan-2016 14:23:46
sal@gruntyman:~/workspace/funproxy$ sbt --version
sbt launcher version 0.13.7
这是我的SBT配置:

name := "funproxy"

version := "0.0.1"

scalaVersion := "2.11.7"

lazy val scalatraVersion = "2.3.1"
libraryDependencies += "javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided"
libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.7.14"
libraryDependencies += "junit" % "junit" % "4.10" % "test"
libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.5" % "test"
libraryDependencies += "org.scalatra" %% "scalatra" % scalatraVersion
libraryDependencies += "org.scalatra" %% "scalatra-scalate" % scalatraVersion
libraryDependencies += "org.scalatra" %% "scalatra-specs2" % scalatraVersion % "test"
libraryDependencies += "org.eclipse.jetty" % "jetty-webapp" % "9.2.10.v20150310" % "runtime"
//libraryDependencies +=  "ch.qos.logback"    %  "logback-classic"   % "1.1.3"            % "runtime"
//libraryDependencies += "net.databinder.dispatch" %% "dispatch-core" % "0.11.2"

scalacOptions ++= Seq("-unchecked", "-deprecation", "-feature")

sbt仅当生成文件在项目的根目录中为simple
.sbt
格式,或者在子目录
project
中为full
.scala
格式时,才查找生成文件。如果将
.sbt
文件放在
项目
子目录中,则该文件将用于元项目,例如包含插件定义。

sbt仅在项目根目录中以简单的
.sbt
格式查找生成文件,或者,如果它们是子目录
项目
中的完整
.scala
格式。如果将
.sbt
文件放在
项目
子目录中,则该文件将用于元项目,例如包含插件定义。

什么是“我的sbt配置”。在项目的根文件夹中是否有一个名为
build.sbt
的文件?因为如果没有,sbt将不会接收它。scalatra not found错误也提示了这一点。通过不带参数地运行
sbt
,并在sbt控制台上执行
show name
show version
show scalaVersion
,您可以很容易地找到它。好的,它被称为build.sbt,但它现在已在项目中/-移动,这似乎解决了它。谢谢什么是“我的SBT配置”。在项目的根文件夹中是否有一个名为
build.sbt
的文件?因为如果没有,sbt将不会接收它。scalatra not found错误也提示了这一点。通过不带参数地运行
sbt
,并在sbt控制台上执行
show name
show version
show scalaVersion
,您可以很容易地找到它。好的,它被称为build.sbt,但它现在已在项目中/-移动,这似乎解决了它。谢谢