Scala Quill自定义配置位置

时间:2018-03-05 08:03:47

标签: scala sbt quill typesafe-config

我使用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")

1 个答案:

答案 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文件夹放入新模块中。