15

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

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

activator idea

或者使用激活器 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]     ^

UI 似乎坏了,当我单击生成 intelliJ 项目时,它会尝试编译应用程序并给出以下错误:

play/Play$
java.lang.NoClassDefFoundError: play/Play$
Use 'last' for the full log.
Failed to load project.

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

activator new

我也尝试将文件夹作为项目导入,但 intelliJ 似乎没有将其识别为项目

4

5 回答 5

18

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

而且效果很好。

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

Not a valid project ID: "project team"

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

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

如果 play 应用程序在项目文件夹中作为子文件夹,则在 File -> Project Structure 中导入模块。

在 IDEA 中运行时,项目名称应为“root”。所以在这种情况下,您应该在名称字段中将“项目团队”重命名为“root”。

在此处输入图像描述

在此处输入图像描述

于 2015-12-23T10:46:33.917 回答
6

解决方案 1

就我而言(IDEA 2018.2),我更改了build.sbt 中的惰性 val 变量,当我的项目名称为“top”时,它的名称为“root”,将“root”更改为“top”。

前:

lazy val root = (project in file(".")).enablePlugins(PlayScala)

后:

lazy val top = (project in file(".")).enablePlugins(PlayScala)

更改项目变量

解决方案 2

Tom提出的方法部分解决了我的问题,因为重启 IDEA 后我返回了项目名称,需要将 build.sbt 中的变量从“top”更改为“root”。

前:

name: = "top" 

后:

name := "root"
于 2018-08-02T04:24:41.577 回答
2

Intellij IDEA 让您无需使用命令提示符即可快速创建 Play 应用程序。您无需在 IDE 之外进行任何配置,SBT 构建工具负责下载适当的库、解决依赖关系和构建项目。

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

基本上,安装 Play Framework、Scala 插件并将项目作为 SBT 项目导入 Intellij。不要使用激活器来创建 IDEA 项目文件。更多细节在这里。

于 2015-06-02T22:17:52.103 回答
2

似乎我没有将 scala/sbt 更新到 intelliJ 中的最新版本一旦我这样做了,它注意到它是一个有效的项目,虽然文档似乎没有提到你可以将它作为 SBT 项目导入,只是如何将其创建为一个新的 sbt 项目(我不想这样做,因为我想通过激活器创建它)

我也有 project/play-fork-run.sbt 文件问题

于 2015-06-03T09:46:03.610 回答
0

我使用 Intellij Idea 16.3.3,有时会出现这个问题。我是怎么修的?您只需要打开您的 SBT 插件并在您的项目下获取上下文菜单,然后您应该选择“忽略 SBT 项目”。当前进程完成后,您应该再次打开此选项。这对我有用:)

于 2017-01-25T11:23:14.400 回答