当前位置: 首页 > 知识库问答 >
问题:

我使用的是Scala 2.11。但是sbt试图将我的类编译成target/scala-2.10

徐卓
2023-03-14

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

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

我的项目出了什么问题?

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")

共有1个答案

白和泽
2023-03-14

sbt仅在生成文件位于simple中时才查找它们。sbt在项目的根目录中格式化,或者如果它们是完整的。子目录项目中的scala格式。如果您放置。sbt文件位于项目子目录中,该子目录将用于元项目,例如包含插件定义。

 类似资料:
  • 每次我整理这个的时候 这是输出 有人知道为什么吗?

  • 我的任务是创建一个名为MyRectangle的类来表示矩形。 所需的数据字段是宽度、高度和颜色。宽度和高度使用双数据类型,颜色使用字符串。然后编写一个程序来测试MyRectangle类。在客户端程序中,创建两个MyRectangle对象。为两个对象中的每一个指定宽度和高度。将第一个对象指定为红色,将第二个对象指定为黄色。显示两个对象的所有属性,包括其面积。 我已经写了所有的东西,没有错误,但是无论

  • 我是一个大口新手,实际上一切都很好,但不是萨斯编译器,像…根本不起作用。 下面是我的github repo(没有node_modules),但我希望所有内容都在gulpfile.js和package.json中;https://github.com/danielklys7/Portfolio 我尝试了几乎所有的东西,主要是在scss但是我把它改成了我最近工作的sass。 我希望我的gulp配置能正

  • 这是我的主人档案 我的命令是: 我不断得到: ansible_host=xx.xxx.xxx.xx|遥不可及!=

  • 我试图理解Scala代码如何在Java的IDE中与Java一起工作。我在使用Spark Java时遇到了这个疑问,在Spark Java中,我看到Scala包也在代码中,并且使用了相应的类和方法。 我的理解是,Scala代码需要Scala的编译器转换成Java.class文件,然后从它们开始JDK在JVM中完成它的部分,转换成二进制文件并执行操作。如果我说错了,请指正。 之后,在eclipse中的

  • 关于目标旗。与使用Java6编译器编译代码相比,使用针对Java6的Java8编译器编译Java6代码(当代码仍然在JVM6上运行时)有什么好处吗?