将包导入为另一个

use*_*159 6 import scala package

假设我有一个包含一堆案例类的Scala项目com.example.a.b.c.我想将所有这些类导入到一个包中com.example.c(其中包含一些非冲突的case类),以便在我的项目中的任何其他地方,我只需要import com.example.c._使用来自com.example.c和的每个case类com.example.a.b.c.

我怎样才能做到这一点?

Rex*_*err 8

有人讨论增加一个可以做你想做的出口机制,但目前尚不清楚是否会发生这种情况.

无论如何,现在唯一的办法就是

  • 定义每个类的类型
  • 设置val等于每个对象

所以,例如,

package bar
case class Foo(i: Int) {}
Run Code Online (Sandbox Code Playgroud)

需要在另一个包中模仿

package object baz {
  type Foo = bar.Foo
  val Foo = bar.Foo
}
Run Code Online (Sandbox Code Playgroud)

面对这种情况时,人们通常会满足于额外的一两次进口.