同时从两个新事物开始:IntelliJ + Scala(+ Play)。
如果我在同一个类上导入play.api._,我在编辑器上的IntelliJ报告错误上遇到了一些奇怪的问题。 Project是使用IntelliJ scala + play 2.4模板创建的新项目。
app / controllers / subpackage中的示例文件ImportError.scala:
package controllers.subpackage
import play.api._
import controllers.ClassToImport
class ImportError {
val instance = new ClassToImport()
}
IntelliJ编辑器在“import controllers.ClassToImport”行上发现错误: “无法解析符号ClassToImport”
如果我选择“Recompile ImportError.scala”,则控制台不会出现编译错误。
如果我通过删除play.api导入来更改类:
package controllers.subpackage
import controllers.ClassToImport
class ImportError {
val instance = new ClassToImport()
}
然后IntelliJ不再在编辑器上给我错误。
此处还有其他观察情况:
以上示例是我在使用IntelliJ导入play.api._的实际项目中遇到的问题的一个独立示例。应该可以使用最新的IntelliJ IDEA社区2016.2.4轻松复制。
答案 0 :(得分:0)
这里的问题是你要从play.api
导入所有内容,并且里面有一个名为controllers
的包。
因此,当您在下一个语句中尝试导入controllers.ClassToImport
时,它会在ClassToImport
中搜索课程play.api.controllers
,这将失败。
要解决此问题,您可以尝试重新排序导入
import controllers.ClassToImport
import play.api._
或重命名播放controllers
包:
import play.api.{controllers => playControllers, _}
import controllers.ClassToImport