Scala纬管自定义配置位置
我使用库来处理数据库,它需要一个配置文件 我的项目结构是:Scala纬管自定义配置位置,scala,sbt,quill,typesafe-config,Scala,Sbt,Quill,Typesafe Config,我使用库来处理数据库,它需要一个配置文件 我的项目结构是: root |_ config |_ project_1 | |_ src | |_ main | |_ resources | |_ scala |_ project_2 现在,如果我把我的configapplication.conf放在文件夹resources中,一切都很好。但是我希望它在config中,因为project_2也使用该文件 那么我如何修改build.sbt才能做到这一点呢 以
root
|_ config
|_ project_1
| |_ src
| |_ main
| |_ resources
| |_ scala
|_ project_2
现在,如果我把我的configapplication.conf放在文件夹resources中,一切都很好。但是我希望它在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")
如果要在多个模块之间共享配置,我建议使用标准方式:
创建包含配置共享部分的新模块,并根据此新模块执行
project_1
和project_2
。将公共配置调用为reference.conf
,以便自动加载(有关详细信息,请参阅),并将其放入新模块的resources
文件夹中 我更希望它位于根文件夹下,但我仍然认为这是一种正确的方法。