尝试在scala中导入时出现问题.该对象Database存在于com.me.project.database但当我尝试导入它时:
import com.me.project.database.Database
Run Code Online (Sandbox Code Playgroud)
我收到错误:
object Database is not a member of package com.me.project.controllers.com.me.project.database
Run Code Online (Sandbox Code Playgroud)
有什么想法是什么问题?
编辑:
值得一提的是导入是在包下的Application.scala文件中com.me.project.controllers,我无法弄清楚为什么它会将导入追加到当前的包中,怪异的......
编辑2:
所以使用:
import _root_.com.me.project.database.Database
Run Code Online (Sandbox Code Playgroud)
工作如下所述.但它应该没有_root_?到目前为止的评论似乎表明它应该.
答案:
所以事实证明,我只需要清理项目以使导入正常工作,同时使用:
import _root_.com.me.project.database.Database
import com.me.project.database.Database
Run Code Online (Sandbox Code Playgroud)
是有效的解决方案 Eclipse刚刚感到困惑.
fra*_*cca 22
进口可以是相对的.这是你唯一的进口吗?小心其他进口如
import com.me
最终,这应该修复它,然后你可以尝试找到更多关于它:
import _root_.com.me.project.database.Database
r90*_*90t 13
在我的情况下,我不得不跑sbt clean.
Rik*_*ard 11
我意识到这个问题已经有了一个可接受的答案,但由于我遇到了同样的问题,但由于原因不同,我想我会添加一个答案.
我有一堆相互依赖的项目,突然需要根导入才能编译.原来,我在一个文件中复制了包声明.这引起了某种连锁反应,很难找到问题的根源.
总结一下,我有
package foo.bar
package foo.bar
Run Code Online (Sandbox Code Playgroud)
在文件的顶部而不是只是
package foo.bar
Run Code Online (Sandbox Code Playgroud)
希望这可以节省一些非常繁琐的错误搜索.
小智 5
我遇到过类似的问题,IntelliJ 在从同一项目导入一个文件时显示错误。
在我的案例中,什么没有解决问题:
_root_导入语句真正解决问题的是什么:
我在 macOS mojave 10.14.6 上使用 IDEA (2019.2.2 Ultimate Edition)