Intellij IDEA无法使用Play框架解析符号

Pav*_*utt 30 intellij-idea playframework

我正在使用IDEA 13和Play 2.2.1,并且正在玩游戏网站上的示例.

public static Result index() {
   return redirect(routes.Application.tasks());
}
Run Code Online (Sandbox Code Playgroud)

IDEA说"无法解析方法重定向(?)",红色表示routes.Application.tasks()

我从播放控制台完成了"编译"和"创意".

le-*_*ude 22

测试我的控制器时遇到了类似的问题.我解决了它"File" > "Open Project"并选择Play框架项目的基本文件夹(从文件夹中删除所有构思设置文件,以便它将使用SBT设置重新导入).

SBT支持IDEA的最后一个版本完成了90%的工作.然后F4进入模块设置对话框.设置您的项目依赖项,如下图所示(明亮的红色文件夹已由IDEA设置,但在我的项目中尚不存在,所以不要担心,如果它们在您的项目中).这是一个在思想将使用和索引的代码中包含托管类和生成代码的问题.

在此输入图像描述

现在我可以在IDEA中使用这样的代码并调试它没问题.

Result result = Helpers.callAction(controllers.routes.ref.CrudController.createEntity(CrudEntities.contact.name()),
        new FakeRequest().withJsonBody(paramJson)
);
Run Code Online (Sandbox Code Playgroud)

你这样做的方式也应该有效.

  • 我讨厌这个软件......它现在已经完全忘记它曾经知道导入play.api.Play应该做什么......就像它个人有问题一样......事情就是当它真的有用的时候很好......这就像一个女朋友,直到她喝龙舌兰酒才真的很有趣...... (3认同)
  • 我正在使用Intellij 15,Play 2.4.6框架.我也得到了"无法解析符号路由"的错误.如何解决这个问题?需要帮忙. (3认同)
  • @BizNuge"我的姐姐/来自另一位母亲的兄弟." 我觉得你和我也经历过这一切.上.每一个.理念.更新. (2认同)
  • 好的,当发生这种奇怪的事情时,我检查 SBT 是否有效(如果您可以从该项目进入 SBT 控制台,则意味着它有效)更新依赖项(因为即使无法解析,idea 也会停止重新加载)然后我放弃核解决方案也就是文件 > 使缓存无效并重新启动 (2认同)

Ram*_*tha 10

好吧,我正在使用"IntelliJ Idea 13"并使用"Activator"进行"sbt"Playframework项目.经过一切尝试后,我终于通过我现有的根sbt项目中的terminal/cmd中的以下步骤解决了这个问题

  1. 在terminal/cmd中输入此命令: sbt clean
  2. 然后删除这些文件和文件夹:"."","所有_.iml文件","所有目标文件夹都驻留在项目文件夹中(这可能没有必要,但我做到了.)"
  3. 在terminal/cmd中输入此命令: sbt idea
  4. 现在在IntelliJ:打开项目

注意:如果您使用"播放"命令而不是"激活器"而不是sbt idea命令构建Playframework项目,则可以尝试 play idea play "idea with-sources=yes"

希望这会帮助你.


Sun*_*pil 7

这些步骤适用于我:在plugins.sbt文件中添加以下行:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")
but if you don't know the correct version of sbt-idea then use this instead:
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "latest.integration")
Run Code Online (Sandbox Code Playgroud)

警告 - 构建需要花费太多时间,因为它需要解析所有版本并获得最新版本.

运行此命令 -

sbt gen-idea
Run Code Online (Sandbox Code Playgroud)


小智 6

我可以通过将生成的代码目录标记为"Sources"文件夹来解决问题.转到文件 - >项目结构 - >"根"模块 - >源.

具有模块设置的Intellij项目结构