java - IntelliJ 未正确创建/导入新的 Play Framework 项目

标签 java scala intellij-idea playframework sbt

注意:我最近开始使用 Play Framework,所以我仍在学习它的所有内容

我正在尝试使用 Play 框架创建一个简单的 Web 应用程序。\

(编辑)软件版本:

  • Arch Linux:4.11.7-1-ARCH x64
  • Oracle Java JDK:1.8.0_131
  • IntelliJ Scala 插件:2017.1.19(最新)
  • SBT:0.13.13(最新)
  • IntelliJ IDEA 旗舰版 2017.1.4
  • Play Framework :2.6.1

我做了什么:

我关注了this来自 Jetbrains 站点的教程,用于启动 Play Framework 项目。我完全按照说明进行操作。

  1. 我安装了 Scala 插件
  2. 创建了新项目 > Scala > Play 2.x(图中所示为 Scala、Dotty、SBT、Activator、Play 2.x。我的选项是 SBT、IDEA、Activator、Play 2.x)
  3. 项目详细信息页面看起来类似,使用 Scala 2.11Play 2.6.1Java JDK 1.8.0_131

问题:

  • 单击“完成”,我希望看到下一个显示项目目录结构的图像。显示的只有 3 个条目:.gitignore文件,build文件和外部库
  • 由于出现问题,我决定导入该项目,此时选择 SBT项目模型我收到导入错误:

    导入错误:

    Error:Error while importing SBT project:<br/>...<br/><pre>at sbt.Using.apply(Using.scala:25)
    at sbt.MainLoop$.runWithNewLog(MainLoop.scala:66)
    at sbt.MainLoop$.runAndClearLast(MainLoop.scala:49)
    at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:33)
    at sbt.MainLoop$.runLogged(MainLoop.scala:25)
    at sbt.StandardMain$.runManaged(Main.scala:57)
    at sbt.xMain.run(Main.scala:29)
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
    a
    t xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
    at xsbt.boot.Launch$.run(Launch.scala:109)
    at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
    at xsbt.boot.Launch$.launch(Launch.scala:117)
    at xsbt.boot.Launch$.apply(Launch.scala:18)
    at xsbt.boot.Boot$.runImpl(Boot.scala:41)
    at xsbt.boot.Boot$.main(Boot.scala:17)
    at xsbt.boot.Boot.main(Boot.scala)
    [error] java.lang.NoClassDefFoundError: sbt/TrackLevel
    [error] Use 'last' for the full log.
    Invalid response.</pre><br/>See complete log in <a href="file:/home/cybex/.IntelliJIdea2017.1/system/log/sbt.last.log">file:/home/cybex/.IntelliJIdea2017.1/system/log/sbt.last.log</a>
    

    我没有发现有同样问题的人。

    我尝试过的:

    我搜索并找到了类似的issue ,只需提及删除 ~/.sbt~/.ivy2文件夹。我这样做了,但没有解决任何问题。

    我继续重新导入同一项目,这次它重新下载了 sbtivy打包并在 IntelliJ 的项目窗口中显示文件夹/项目结构

    打开sbt时菜单/工具并导入/刷新所有项目,再次打印上面显示的导入错误。

    问题:

    是什么导致了这个问题,缺少库,导入时缺少复选框?

    更新:

    我设法使用 PlayFramework 2.6.1 New application 中描述的方法使项目正常运行。

    1. 我启动了一个终端,浏览到我的项目需要所在的位置,运行 sbt new playframework/play-java-seed.g8 ,当出现提示时,我输入了项目名称、组织、scala 版本等。

    2. 然后我打开 intellij,使用 SBT 项目模型导入该项目(项目名称,在其中运行 sbt new ... 命令)。下载并检查依赖项后,它显示了项目结构,尽管缺少一些文件夹,如 sbt-build目录(在示例 Play 项目中看到)。

    打开SBT项目工具栏,点击刷新,已成功导入所有项目,并且按预期可见。

    结论:

    关于 Jetbrains IntelliJ 的文档网站可能不准确,因为我的 scala 版本是相同的。唯一的区别是Java JDK版本,我相信这一点需要确认。

    最佳答案

    我在使用 IntelliJ IDEA 2017.2 时遇到了同样的问题。

    IntelliJ IDEA 2018.1 不会发生这种情况。

    我认为您最好更新 IntelliJ IDEA,然后重试。

    关于java - IntelliJ 未正确创建/导入新的 Play Framework 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44981209/

    相关文章:

    scala - 工厂对象和案例类

    java - 将带毫秒的日期转换为另一种日期格式

    c# - Scala Option 是否与 C# Nullable 类型相同?

    Java8 将要映射的列表列表分组

    postgresql - 使用Spark JdbcRDD读取PostgreSQL表出错

    ruby-on-rails - 无论如何让RubyMine选择像Intellij Idea一样的第一个完成选择?

    scala - IntelliJ IDEA 能否正确格式化 scala.html 文件,我该如何启用它?

    intellij-idea - 如何将数据记录到 Flutter 控制台?

    java - 有没有办法从 ArrayList.toString() 获得的字符串中获得 ArrayList?

    Java 等效于 Objective-C 实例类型?