【问题标题】:How to interpret SBT error messages如何解释 SBT 错误消息
【发布时间】:2013-07-01 22:18:02
【问题描述】:

在 scalatra 中做一些工作,在运行 ./sbt 时,我看到以下错误消息:

[trace] Stack trace suppressed: run last compile:sources for the full output.
[error] (compile:sources) org.fusesource.scalate.InvalidSyntaxException: `val' expected but `s' found at 1.12
[error] Total time: 0 s, completed Jul 1, 2013 6:04:31 PM

任何人都可以对 1.12 的含义有所了解吗?我正在运行一个非常基本的 Scalatra 框架,从使用 g8 下载的 hello-scala 标准略微修改(添加了一个 .ssp 文件,编辑了一个 .scala 文件)

【问题讨论】:

    标签: scala sbt scalatra scalate ssp


    【解决方案1】:

    InvalidSyntaxException 被抛出,因为你的 ssp 不正确,它有错误的语法。

    1.12 的意思正如丹尼尔所说:模板文件的第 1 行,第 12 列。 Scalate(模板引擎)获取您的 ssp 文件并将它们翻译成 Scala,然后编译。按照 sbt 的建议,运行

    last compile:sources
    

    这将为您提供更多信息。 Scalate 对它正在解析的文件不是很有帮助,但这可能是您添加的 ssp。当它无法编译生成的 Scala 文件时,它会为您提供文件的名称,但在无法解析 ssp 时不会。这确实是一个应该在Scalate Assembla space 中提出的问题。

    【讨论】:

      【解决方案2】:

      您遇到的错误消息不是 SBT 的,而是 Scalate 的。 SBT 只是将它从 Scalate 收到的内容报告给您。

      1.12 可能意味着模板文件的第一行第 12 列,但我很可能错了。什么模板文件?打败我。没有更多的上下文吗?如果你运行last compile:sources 会怎样?

      【讨论】:

      • 应该更清楚,抱歉。我正在运行:g8 scalatra/scalatra-sbt.g8 Running last compile:sources 没有帮助,因为它只是跟踪错误堆栈
      • 澄清一下,当 SBT 在 scalate 上运行时,它首先解析哪个文件?该问题的答案是特定于模板的,还是有一个通常首先针对的文件,例如 build.scala?
      猜你喜欢
      • 2011-02-02
      • 2020-06-13
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      相关资源
      最近更新 更多