我从Github检查了项目,然后运行sbt gen-idea
并在IDEA中打开了这个项目。其中一个项目模块使用Play 2.0 Framework。
但IDEA不识别Play!特有的符号。
即我在以下语句cannot resolve symbol index
中收到以下错误:views.html.index
。
其他特定于Play的相同错误!框架功能,例如我在routes
变量上得到相同的错误。
P.S。我已经安装了Play 2.0
,Scala
,SBT
个插件,还配置了Play 2.0框架根目录(在Project Settings - Play configuration
中)
答案 0 :(得分:1)
就个人而言,我不使用IntelliJ的Play插件。使用命令行以便在*.template.scala
通知的原点编译/生成包括着名cannot resolve symbol index
在内的不同元素时,它总是更快更可靠。
您所要做的就是根据应用的根文件夹运行此命令行:play
然后compile
。当然,请不要使用IntelliJ中的任何Rebuild project
,否则您将从命令行中删除生成的类文件。处理非托管资源(如模板)时,只需编译cmd+F9
即可。
确保从IntelliJ输出编辑被配置为映射与应用程序的target
文件夹相同的文件夹(sbt gen-idea
{虽然我使用play
然后idea with-sources=yes
)便会进行自动配置)。
然后你的IntelliJ项目不再抱怨某些views.html.index
未解决的问题。
当然,如果您真的想从IntelliJ IDE中受益,请确保已安装最后一个Play 2.X plugin。
或者,在IntelliJ中创建一个自定义run
命令,以便考虑SBT编译。
答案 1 :(得分:1)
对于使用Java Play 2.4.x和IntelliJ 15的任何人来说,我的同事也在努力解决这个问题。我们安装了Scala插件(内置SBT),所有依赖都很好。事实证明这个问题源于他们打开项目的方式(不要问我为什么)。
<强>执行:强> 档案 - &gt;新 - &gt;来自现有资源的项目......
不要: 档案 - &gt;打开