通过路由为 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/routes
和 routes.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项目