我使用Scala Quill库来处理数据库,它需要一个记录为here的配置文件。
我的项目结构是:
root
|_ config
|_ project_1
| |_ src
| |_ main
| |_ resources
| |_ scala
|_ project_2
现在如果我将配置 application.conf 放在文件夹资源中,一切都很好。但我希望它在 config 中,因为 project_2 也会使用该文件。
那么如何修改 build.sbt 呢?
这是我目前的build.sbt:
val commonSettings = Seq(
version := "1.0.0",
scalaVersion := "2.11.8",
libraryDependencies ++= Seq(
...
)
)
val common = (project in file("common"))
.settings(commonSettings)
.settings(name := "common")
def newProject(name: String): Project =
Project(name, file(name))
.settings(commonSettings)
.settings(
mainClass in assembly := Some(s"$name.Main"),
assemblyJarName in assembly := s"$name.jar"
)
.dependsOn(common)
val project_1 = newProject("project_1")
val project_2 = newProject("project_2")
答案 0 :(得分:2)
如果你想在几个模块之间共享配置,我建议使用标准方式:
创建新模块,该模块将包含配置的共享部分,并依赖于此新模块执行@rows =
EXTRACT
...,
date DateTime
FROM /MyOutput/{date:YYYY}/{date:MM}/{date:dd}/file.csv;
SELECT * FROM @rows WHERE date > '2018-5-3'
和project_1
。将公共配置调用为project_2
以自动加载(有关详细信息,请参阅here)并将reference.conf
文件夹放入新模块中。