我正在尝试在IntelliJ中打开一个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似乎并未将其标识为项目
答案 0 :(得分:18)
我遇到同样的问题,因为我使用IDEA打开项目文件夹,它在子文件夹中有一个播放2应用程序,然后我导入模块(播放2应用程序)到系统。
效果很好。
之后我更改了模块文件夹名称,然后当我运行应用程序时,它显示:
Not a valid project ID: "project team"
我重新检查了该文件夹,发现在文件中 - >项目结构选项,模块的名称是" root"和" team"是整个项目的模块(不是SBT导入的模块),显然,在我更改了模块文件夹名称后,该模块不起作用。
所以我找到并删除了所有.idea文件夹,这是IDEA配置,然后重新打开/重新导入模块,仍然无法正常工作。我认为它是IDEA缓存问题,它确实有已打开项目的缓存,所以我将项目文件夹从team
更改为其他内容,清理.idea文件夹,然后重新打开/重新导入它。它奏效了。
如果播放应用程序在项目文件夹中作为子文件夹,则在File - >导入模块。项目结构。
答案 1 :(得分:6)
解决方案1
对于我的情况(IDEA 2018.2),我在build.sbt中更改了 lazy val变量,当我的项目名称为“ top”时,它的名称为“ root”,将“ root”更改为“顶部”。
之前:
lazy val root = (project in file(".")).enablePlugins(PlayScala)
之后:
lazy val top = (project in file(".")).enablePlugins(PlayScala)
解决方案2
by Tom提出的方法部分解决了我的问题,因为重新启动IDEA之后,我将项目名称返回了,因此必须在build.sbt中将变量从“ top”更改为“ root”。
之前:
name: = "top"
之后:
name := "root"
答案 2 :(得分:2)
Intellij IDEA可让您在不使用命令提示符的情况下快速创建Play应用程序。您不需要在IDE之外配置任何东西,SBT构建工具负责下载适当的库,解决依赖关系和构建项目。
在IntelliJ IDEA中开始创建Play应用程序之前,请确保在IntelliJ IDEA中安装并启用了最新的Scala插件。即使你没有在Scala中开发,它也将有助于模板引擎并解决依赖关系。
基本上,安装Play Framework,Scala插件并将项目导入Intellij作为SBT项目。不要使用激活器来创建IDEA项目文件。 More details here.
答案 3 :(得分:2)
似乎我没有将scala / sbt更新为intelliJ中的最新版本 一旦我这样做了它就注意到它是一个有效的项目,虽然文档似乎没有提到你可以将它作为一个SBT项目导入,只是如何创建它作为一个新的sbt项目(我不想做因为我想通过激活器来创建它)
我还有project / play-fork-run.sbt文件问题
答案 4 :(得分:0)
我使用Intellij Idea 16.3.3并且有时会出现此问题。我怎么修好了?你只需要打开你的SBT插件,在你的项目下获取上下文菜单,然后你应该选择“忽略SBT项目”。当前进程完成后,您应该再次打开此选项。这对我有用:)