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

6rvt4ljy  于 2023-02-03  发布在  IntelliJ IDEA
关注(0)|答案(8)|浏览(209)

我在Play 2.2.1中使用了IDEA 13,并在play site上做了示例。

public static Result index() {
   return redirect(routes.Application.tasks());
}

IDEA表示“无法解析方法重定向(?)”并在routes.application.tasks()下添加红色下划线
我已经做了“编译”,然后“想法”从播放控制台。

uqjltbpv

uqjltbpv1#

我在测试我的控制器时也遇到过类似的问题,我通过"File" > "Open Project"解决了它,并选择了Play框架项目的基本文件夹(删除之前文件夹中的所有idea设置文件,以便使用SBT设置重新导入)。
上一个版本的SBT对IDEA的支持完成了90%的工作。然后按F4进入模块设置对话框。设置你的项目依赖关系,如下图所示(亮红色的文件夹已经被IDEA设置,在我的项目中还不存在,所以不要担心它们是否存在)。这是一个在idea将使用和索引的代码中包含托管类和生成代码的问题。

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

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

你的方法应该也能奏效。

50few1ms

50few1ms2#

我正在使用"IntelliJ Idea 13",并使用"Activator"做"sbt" Playframework项目。在尝试了所有方法之后,我终于在现有的根sbt项目中使用terminal/cmd中的以下步骤解决了这个问题
1.在终端/cmd中输入以下命令:sbt clean
1.然后删除这些文件和文件夹:". idea"、"all_. iml files"、"所有目标文件夹均位于项目文件夹中"(这可能不是必需的,但我已执行此操作。)
1.在终端/cmd中输入以下命令:sbt idea
1.现在在IntelliJ中:开放项目
注意:如果您正在使用"Play"命令而不是"Activator"命令(而不是sbt idea命令)构建Playframework项目,则可以尝试play ideaplay "idea with-sources=yes"
希望这对你有帮助。

ou6hu8tu

ou6hu8tu3#

以下步骤对我很有效:添加以下行到你的插件.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")

警告-这将需要太多的时间来构建,因为它需要解析所有的版本,并获得最新的版本。
运行这个命令-

sbt gen-idea
dgiusagp

dgiusagp4#

我可以通过将生成的代码目录标记为“源”文件夹来解决这个问题。转到文件-〉项目结构-〉“根”模块-〉源。

jucafojl

jucafojl5#

我不得不添加下面的插件条目到我的plugins.sbt(在项目文件夹下)为intellij IDEA解决像路线等播放变量。

addSbtPlugin(“网站信息”%“网站创意”%“1.6.0”)

注意:将上述插件添加到plugins.sbt后,运行以下命令来重建idea并解决问题:

  • 活化剂清洁
  • 激活器观念
dxpyg8gm

dxpyg8gm6#

在我的例子中,运行sbt命令的用户对输入sbt的项目没有权限。清理文件夹,然后使用chown -R yourUser /path/to/project更改文件夹权限,应该可以修复它。

lstz6jyr

lstz6jyr7#

我也遇到过类似的问题-- IDEA无法解析Play!框架依赖项。
在我的情况下,.idea文件夹有一个问题。我将项目复制到单独的文件夹,并在复制的项目根文件夹中运行“activator idea”命令。然后,我比较了原始项目和复制项目中的.idea文件夹-我发现了一个差异!在文件夹**.idea/libraries**中复制的项目中,有许多包含依赖项链接的XML文件,因此,我将它们复制到原始项目的同一文件夹中,重新索引项目,从那一刻起一切工作都很完美:)我这样做是因为我不想失去我的项目设置(删除.idea文件夹并在原始项目文件夹中运行命令“activator idea”应该可以解决这个问题,但项目设置会丢失)。
希望这能有所帮助:)。

vyu0f0g1

vyu0f0g18#

从Marketplace安装scala插件,然后打开build.sbt:文件〉打开〉$yourBuild.sbt
IDEA版本:2022.1.2

相关问题