【问题标题】:Running spray on IntelliJ在 IntelliJ 上运行喷雾
【发布时间】:2017-09-13 20:27:54
【问题描述】:

我正在尝试在 IntelliJ 14 上运行 Spray 示例。

一切正常,服务器启动并显示响应。

但是,我有 2 个主要问题(可能有 2 个问题相关):

1)由于某种原因,当我添加到我的 build.sbt 文件时:“io.spray”%%“spray-json”%“1.2.6”它什么也没做(我无法导入 spray.json) .

2) IntelliJ 在以下行显示错误:Revolver.settings。我相信这就是当我更改代码时它不会在浏览器刷新时更改的原因。 intelliJ 显示的错误是:“表达式类型(Def.Settings 定义)必须符合 SBT 文件中的 Settings[_]”。

有人知道如何解决这个问题吗?

我的 build.sbt 更改后:Revolver.settings 为:Revolver.settings: Seq[sbt.Def.Setting[_]]

organization  := "com.example"

version       := "0.1"

scalaVersion  := "2.10.4"

scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8")



libraryDependencies ++= {
  val akkaV = "2.3.6"
  val sprayV = "1.3.2"
  Seq(
    "io.spray"            %%  "spray-json"        % "1.2.6",
    "io.spray"            %%  "spray-can"     % sprayV,
    "io.spray"            %%  "spray-routing" % sprayV,
    "io.spray"            %%  "spray-testkit" % sprayV  % "test",
    "com.typesafe.akka"   %%  "akka-actor"    % akkaV,
    "com.typesafe.akka"   %%  "akka-testkit"  % akkaV   % "test",
    "org.specs2"          %%  "specs2-core"   % "2.3.7" % "test"
  )
}

Revolver.settings: Seq[sbt.Def.Setting[_]]

【问题讨论】:

  • 你能把你的 build.sbt 文件放在这里吗?
  • @Maxim 我添加了文件的内容。请注意,我能够修复 IntelliJ 的错误,并且在关闭和打开 IntelliJ 后,它还添加了 JSON 支持。但是资源的自动重新加载仍然不起作用。

标签: scala intellij-idea sbt spray intellij-14


【解决方案1】:

我在使用 IntelliJ 14 期间遇到了这两个问题。以下是一些提示:

  1. 确保您使用的是最新的 IDEA 14(至少构建 139.224,2014 年 11 月 4 日)
  2. 确保您使用的是最新的 Scala 插件 (1.1.3)
  3. 在任何地方将 Seq[sbt.Def.Setting[_]] 更改为 Seq[sbt.Setting[_]](它们是类型别名)
  4. 更新构建文件时,从 SBT“外部项目”手动刷新 IntelliJ 项目。

第 4 步需要一些解释。

Scala 插件在一个捆绑包中提供与 Play、Twirl、SBT 和 Scala 的兼容性。它所做的一件事是提供一个 SBT 工具(它可能显示在您的 IDEA 窗口的右侧)。打开后是这样的:

您可以单击左上角的刷新图标(圆形箭头)或右键单击您的任务名称(图像中的scrupal)并选择“刷新外部项目”。这些操作都执行相同的操作,即运行 SBT、更新项目以及从 SBT 设置和定义重新生成 IntelliJ 项目文件。

您可以通过其他几种方式实现这一点。您已经发现了一种方法:重新启动 IntelliJ IDEA。另一种方法是将 Scala 插件的 SBT 支持设置为“自动导入”。启用此功能后,它将重新导入 SBT 设置并在 SBT 源文件更改时更新您的 IDEA 项目。我通常将其关闭,因为在我修改文件时每隔几次击键后尝试重新导入(一个漫长的过程)很烦人。因此,我使用手动方法并告诉 IntelliJ 何时我希望它刷新。

要打开自动导入,请转到 IntelliJ Preferences,选择“Build, Execution, Deployment”,选择“Build Tools”,选择“SBT”,然后在右侧面板中选择您的项目并选中“Use auto -导入”字段。 - 重新启动 IntelliJ IDEA。你已经发现这行得通。 - 将 Scala 插件设置为“自动导入”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多