Play Framework 2.4和IntelliJ Idea

Ric*_*HBM 15 intellij-idea playframework typesafe-activator playframework-2.4

我试图在IntelliJ中打开一个2.4项目,但由于事情发生了变化,我不知道该怎么做.

在以前的版本中,我可以运行

activator idea
Run Code Online (Sandbox Code Playgroud)

或者使用激活器UI并单击生成intelliJ项目,但在2.4中,idea命令似乎不存在

[error] Not a valid command: idea (similar: eval, alias)
[error] Not a valid project ID: idea
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: idea (similar: clean)
[error] idea
[error]     ^
Run Code Online (Sandbox Code Playgroud)

UI似乎坏了,当我点击生成intelliJ项目时,它试图编译应用程序并给出这个错误:

play/Play$
java.lang.NoClassDefFoundError: play/Play$
Use 'last' for the full log.
Failed to load project.
Run Code Online (Sandbox Code Playgroud)

我使用play java模板从头开始创建项目:

activator new
Run Code Online (Sandbox Code Playgroud)

我也尝试将该文件夹导入为项目,但是intelliJ似乎并未将其标识为项目

Tom*_*Tom 18

我遇到了同样的问题,因为我使用IDEA打开项目文件夹,它在子文件夹中有一个播放2应用程序,然后我导入模块(播放2应用程序)到系统.

它运作良好.

之后我更改了模块文件夹名称,然后当我运行应用程序时,它显示:

Not a valid project ID: "project team"
Run Code Online (Sandbox Code Playgroud)

我重新检查了文件夹,发现在File - > Project Structure选项中,模块的名称是"root",而"team"是整个项目的模块(不是SBT导入的模块),所以显然,更改模块文件夹名称后,模块无法正常工作.

所以我找到并删除了所有.idea文件夹,这是IDEA配置,然后重新打开/重新导入模块,仍然无法正常工作.我认为这是IDEA缓存问题,它确实有已打开项目的缓存,因此我将项目文件夹更改team为其他内容,清理.idea文件夹,然后重新打开/重新导入它.有效.

如果播放应用程序在项目文件夹中作为子文件夹,则在文件 - >项目结构中导入模块.

在IDEA中运行时,项目名称应为"root".因此,在这种情况下,您应该在名称字段中将"项目团队"重命名为"root".

在此输入图像描述

在此输入图像描述

  • ROOT - 这是我问题的根源!非常感谢 :) (4认同)
  • 谢谢!将模块重命名为"root"后,一切都很顺利. (2认同)

Key*_*Key 6

解决方案1

在我的情况下(IDEA 2018.2),我在build.sbt中更改了lazy val变量,当我的项目名称为"top"时,它的名称为"root",将"root"更改为"top".

之前:

lazy val root = (project in file(".")).enablePlugins(PlayScala)
Run Code Online (Sandbox Code Playgroud)

后:

lazy val top = (project in file(".")).enablePlugins(PlayScala)
Run Code Online (Sandbox Code Playgroud)

更改项目变量

解决方案2

Tom提出的方法部分地解决了我的问题,因为在重新启动IDEA之后我返回了项目名称,有必要在build.sbt中将变量从"top"更改为"root".

之前:

name: = "top" 
Run Code Online (Sandbox Code Playgroud)

后:

name := "root"
Run Code Online (Sandbox Code Playgroud)


Mon*_*ari 2

\n

Intellij IDEA 允许您快速创建 Play 应用程序,而无需使用命令提示符。您不需要在 IDE 之外配置任何内容,SBT 构建工具负责下载适当的库、解决依赖关系并构建项目。

\n

在开始在 IntelliJ IDEA 中创建 Play 应用程序之前,请确保在 IntelliJ IDEA 中安装并启用了最新的 Scala 插件。即使您不使用 Scala 进行开发,它也会对模板引擎和解决依赖关系有所帮助。

\n
\n

基本上,安装 Play Framework、Scala 插件并将项目作为 SBT 项目导入 Intellij。不要使用 activator 创建 IDEA 项目文件。更多详细信息请参见此处。

\n