I';我使用Scala 2.11.7,但sbt试图将我的类编译为target/Scala-2.10
我正在尝试运行一个简单的ScalatraServlet 当我编译时,我可以看到它无法导入任何Scalatra组件。奇怪的是,尽管我使用的是scala 2.11,它还是试图编译到一个名为scala-2.10/classes的目录中 我的项目出了什么问题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
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,但它现在已在项目中/-移动,这似乎解决了它。谢谢