scala - 如何引用生成的源文件?
问题描述
如何引用sourceGenerators
sbt 任务生成的文件?我知道源文件已存入,target/scala-<version>/src_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文件一样,它应该package whatever
在开头有一个语句,您可以从中导入您的类( import whatever._
)。通常包名与目录结构匹配,但它们不必匹配(特别是因为它只是生成的文件)。
如果它没有包,它的所有成员可能都驻留在__root__
包中。但这可能会引起麻烦,我建议编辑您的生成器以添加一个包语句。
推荐阅读
- tensorflow - 如何检查tenserflow是否正在使用gpu?
- flutter - 从 initState() 更新列表时未更新列表
- c# - 安装 Winforms 应用程序时出现 SQL Server 安装问题
- python - 使用路径参数从 python 代码运行 .exe 文件
- angular - 使用表单控制类时,下拉列表的外观正在发生变化 - Angular
- c# - Wix CustomAction 在 InstallFinalize 之前无法访问写入的文件
- c# - Quartz.net 调度程序收集垃圾
- python - Python Turtle/Tkinter 计时器加速
- python - 当一列被管道分隔时,如何在熊猫中读取CSV?
- python - MultipleObjectsReturned get() 返回多个 KVStore