Scala 如何引用生成的源文件?
如何引用由Scala 如何引用生成的源文件?,scala,sbt,generated-code,Scala,Sbt,Generated Code,如何引用由sourceGeneratorssbt任务生成的文件?我知道源文件存放在target/scala-/src\u managed/path/to/file.scala中,但我不知道如何在我的项目中引用它。有什么想法吗 /server /app /models Driver.scala (can't use MyGeneratedCode here) /project /src/main/scala/ ModelGenerator.scala
sourceGenerators
sbt任务生成的文件?我知道源文件存放在target/scala-/src\u managed/path/to/file.scala
中,但我不知道如何在我的项目中引用它。有什么想法吗
/server
/app
/models
Driver.scala (can't use MyGeneratedCode here)
/project
/src/main/scala/
ModelGenerator.scala (the code used to create MyGeneratedCode.scala)
/target/scala-2.12
/classes
/src_managed
/main/generated/
MyGeneratedCode.scala
生成文件与任何普通的Scala文件一样工作,但位于一个奇特的文件夹中,因此git(或任何其他VCS)不会跟踪该文件。
与任何Scala文件一样,它在开始时应该有一个
包which
语句,您可以从中导入类(导入which.
)。通常包名与目录结构匹配,但它们不必匹配(特别是因为它只是生成的文件)
如果它没有包,那么它的所有成员可能都驻留在
\uuuuu root\uuuu
包中。但这可能会带来麻烦,我建议编辑生成器,改为添加一个package语句。您可能不希望引用文件本身,而希望引用其中的类/对象/特征。如果是这样,就像正常情况一样,从包中导入并使用它们。问题是什么?不知道如何导入包。。。紧张的笑容完美无瑕。添加包
行非常有用!