无法解析符号路径
IntelliJ IDEA 14中没有的“路线”有什么问题?
你试过没有***
吗?
return redirect(routes.Application.index();
根据文件 :
对于路径文件中使用的每个控制器,路由器将在路由包中生成一个“反向控制器”,具有相同的操作方法,具有相同的签名,但返回play.mvc.Call而不是play.mvc.Result 。
编译应用程序时会生成反向控制器。 因此,您需要编译应用程序,以便在IDE中访问这些类。 要确保Idea正确找到文件,您可以右键单击包含生成的类的target的子目录,并将其标记为源目录。
我几次遇到这个问题。 对我来说,该项目将使用sbt
编译,但Intellij无法解析引用。 以下是我发现的一些原因:
原因1:命名空间混乱
造成这种情况的一个原因是,由于一些通配符导入,Intellij对名称空间感到困惑 – 它实际上与项目配置无关。
例如,我们发现如果import play.api._
,那么Intellij将无法解析import controllers.routes
(或import controllers.routes
任何其他内容)。 如果你切换它们,它没关系。
您可以通过移动导入来测试这是否是问题,或者查看相同的导入是否在不同的文件中工作。
要检查Intellij是否真的无法解析您的类,请尝试从_root_
引用该类。 通过上面的示例,Intellij始终能够解析_root_.controllers.routes
,因此我知道这不是与我的项目配置有关的问题。
(我不会在代码中留下那个_root_
,我觉得它有点难看和混乱!有人会删除它然后问题会回来。相反我会尝试删除外卡导入)
原因2:生成的源未标记为“源”
view
中的routes
和其他模板类等类是自动生成的。 项目可能没有正确配置,Intellij没有意识到有自动生成的路径和旋转源文件。
在我的系统上,那些自动生成的文件夹存在于target/scala-[VERSION]/
作为src_managed
(所有路由的东西)和twirl
(所有模板的东西)。
要检查/修复此问题,请执行:
- 文件 – >项目结构
- 在左窗格中选择“模块”
- 在中心窗格中选择相关模块
- 选择右窗格中的“来源”选项卡
- 在
target
内找到上面提到的文件夹并将src_managed/main
和twirl/main
标记为“Sources”(注意你标记main
文件夹,而不是外部文件夹)
原因3:排除target
我发现有时在导入项目时,Intellij会自动将target
目录标记为已排除。 这意味着它内部的“来源”实际上被忽略了。 因此,请确保自动生成的源不在某个排除的目录中。
要解决此问题,请按照2中的说明进行操作,并确保target
文件夹没有特殊标记。 在我的Intellij版本中,这意味着图标是正常的棕色 – 不是红色或蓝色。
如果您必须这样做,那么可能不会排除target
内的所有目录。 为了完整起见,我会递归地将所有目录(如resolution-cache
和streams
)标记为已排除,以便不排除旋转和路径源目录。
不幸的是,作为一个团队,我们经常遇到这些问题。 我们使用的一个技巧是只复制/粘贴彼此的.idea/modules/root.iml
文件,就像所有配置所在的那样。 因此,如果一个开发人员有一个工作设置,只需将他们的Intellij conf复制到您自己的机器上。
这是我的conf的片段,它涉及如何配置源和排除(它基本上复制了上面2和3中的步骤)。 我用它来玩2.3应用程序,它的工作原理。 如果您有其他复杂的配置或依赖项自动生成代码,您可以尝试将它合并到您的root.iml
,或者如果您有一个简单的播放项目,只需用您的content
元素替换它:
... ...
我解决了执行这个其他线程中指定的这两个步骤的问题https://stackoverflow.com/a/34085037/5078874
(我正在使用Idea 15.0.1)
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
然后执行命令:
sbt gen-idea
正如biesior所说,这对我有用 :
return redirect(controllers.routes.Application.index());
- 是否可以在Intellij Idea中更改junit4 test的默认类名模板?
- 文件以错误的编码加载:IntelliJ IDEA中的’UTF-8′
- 在IntelliJ中的模块之间共享Java包?
- IntelliJ,是否可以像NetBeans一样“制作控制器”?
- Java vs C(运行时)编辑:添加代码
- 是否可以将Intellij-IDEA配置为中断JUnit测试中的exception,以使测试失败?
- Intellij Idea 13 UI Designer和自动Gradle构建
- Intellij IDEA使用java7编译器编译时我已将其配置为使用Java6
- 如何在Eclipse中创建可运行的JAR,就像在Eclipse中一样