通过路由为 IntelliJ 中导入的 Play 2.4.x 项目解析控制器

Posted

技术标签:

【中文标题】通过路由为 IntelliJ 中导入的 Play 2.4.x 项目解析控制器【英文标题】:Resolving Controllers via routes for imported Play 2.4.x project in IntelliJ 【发布时间】:2015-10-23 06:49:35 【问题描述】:

我正在尝试将任何 Play 项目(通常来自激活器)导入到 IntelliJ 中,每次我最终都没有解决控制器时,即您转到 conf/routesroutes.ApplicationController 显示变成红色并且在routes. 的任何控制器完成中显示没有控制器。

项目确实可以编译,甚至可以从 IntelliJ 运行,但编译的路由不会被拾取。

我不知道它是否相关,但在项目加载时我总是收到以下消息:

Play framework 2.x 的 SBT 编译默认禁用

但即使我进入 Languages & Frameworks 设置并告诉它使用 Play 2 编译器,路由也不受影响。

【问题讨论】:

您是尝试直接从 IntelliJ 导入还是使用激活器创建项目文件?使用最新版本的 IntelliJ,您可以直接导入由 activator 创建的 scala/play 项目,如果您有插件则无需执行任何操作 我是直接导入的。我也尝试过使用激活器项目生成,但这更糟,IntelliJ 主动告诉你不要再这样做了。 【参考方案1】:

Hüseyin Zengin 是对的。生成 .idea 目录和元数据的激活器插件不再是“方式”。

事实上,它并不能完美地开箱即用,最好的办法是获取所有三个版本的最新版本。这意味着使用 Intellij 的 Early Access Program 版本。

这在很大程度上取决于 Play!、Intellij 和 Scala(以前称为 Play)插件的版本。

如果您不能这样做或仍然遇到问题,那么执行以下步骤可能会有所帮助:

打开你的游戏! Intellij 中的 2.x 项目 打开模块设置 F4 在 Root Source Settings 中导航目录结构。

处添加main目录

target/scala-/routes/main

到源文件夹列表。右键单击主文件夹并选择 Sources 是执行此操作的一种方法。

【讨论】:

尝试了您的建议。唯一可以正常工作的是升级到 IntelliJ 和 Scala 插件的最新 EAP。至少它现在可以工作了

以上是关于通过路由为 IntelliJ 中导入的 Play 2.4.x 项目解析控制器的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ IDEA 15 Play 2.4 反向路由方法参数“string cannot be applied to java.lang.String”

如何在intellij IDEA中导入ECLIPSE的android项目

无法使用 intellij 14 解析路由文件中的符号并播放框架 2.4 reactivemongo

为啥在 phpmyadmin 中导入的数据库更小?

如何从 Xcode 中导入的 .dae 中访问混合形状

如何构建在unity/c#中导入的c++ dll