使用sbt

时间:2019-02-24 18:02:21

标签: scala intellij-idea playframework sbt

设置详细信息  1.带有sbt插件的IntelliJ Idea Community Edition 2018.2.5  2. PlayFramework  3. scalaVersion 2.12.8  4. Java 1.8(开放的JDK)  5. sbt:将sbt与play-scala-hello-world-tutorial捆绑在一起  6.主机操作系统:Limux Mint 18.3,KDE Plasma 5

问题: 我尝试使用Playframework的hello-world项目模板-使用IntelliJ将其导入为sbt项目并接受默认设置。进行一些编辑后,我直接在文件系统中删除了该项目,并用新副本替换了该项目。但是,当我使用带有“ run”命令的sbt_command窗口运行该项目时,该项目将启动绑定到端口9000的Play,并且正在运行的项目仍显示该应用程序的“旧”修改版本。

重现此问题的步骤:

  1. 加载2.7.x版本的play-scala-hello-world-tutorial
  2. 编辑HomeController.scala;

    来自

    def index() = Action { implicit request: Request[AnyContent] =>
      Ok(views.html.index())
    }
    

    def index() = Action { implicit request: Request[AnyContent] =>
      Ok("Just Play Scala")
    }
    
  3. sbt_run
  4. Ctrl + D退出运行的应用程序(在IDE的sbt命令窗口中)
  5. 关闭IntellijIDEA
  6. 在Idea Workspace中删除项目根文件夹
  7. 放置新的play-scala-hello-world-tutorial scala-seed项目模板副本
  8. 导入项目
  9. 使用sbt'run'命令运行(在IDE的sbt命令窗口中)
  10. 视图http://localhost:9000/ =>产生“ Just Play Scala”

尝试的分辨率  -从IntelliJ关闭了项目,并从文件系统上的IntelliJ-Idea工作区中删除了项目根文件夹  -执行#1并删除.ivy2和.mvn目录  -尝试在运行Fedora28的VM中使用文本编辑器复制更改来重现该问题。一切正常。所有更改都会在播放过程中动态重新加载,并且更改在可见的应用程序中可见。

诊断 IntelliJ不能按预期/广告般用于重新编译sbt项目,或者我不知道如何使用IDE正确清除以前编译的代码。

0 个答案:

没有答案