【发布时间】:2018-07-24 12:14:17
【问题描述】:
我有一个 sbt 模块,在 io.myapp.foo 包中定义了一个 fooObject。即可以通过io.myapp.foo.fooObject访问对象
然后我通过 sbt publishLocal 将其发布到我的本地 Ivy 存储库
在另一个 Sbt 项目中,我包含了这个 foo 对象模块。
然后我尝试在包io.myapp.bar.barObject 中的另一个类中使用fooObject。尽管我的 IDE 可以访问 io.myapp.foo.fooObject,因为我获得了自动完成功能并且我没有收到语法错误,但是当我尝试编译时,我收到了错误:
Error:(19, 46) object foo is not a member of package io.myapp
val schemaContent: String = fooObject.someValue
不知道为什么 foo 只是包名称中的一个路径时被称为对象。
我不知道为什么会出现此编译错误。有什么想法吗?
编辑:如果我进行 SBT 编译,它会编译,但是当我运行测试时,我会收到上述编译错误。这让它变得陌生
Edit2:似乎这是 Intellij 自己绊倒的情况。当我从 sbt 运行测试时,一切都通过了。仅当我从 Intellij 运行测试时才会收到编译错误
【问题讨论】: