Scala 在build.sbt中加载外部设置

Scala 在build.sbt中加载外部设置,scala,sbt,Scala,Sbt,我正在尝试向play应用程序添加sbt插件 插件需要一些配置,因为它需要连接到数据库。以下是插件在build.sbt文件中需要的设置: jooqOptions := Seq("jdbc.driver" -> "com.mysql.jdbc.Driver", "jdbc.url" -> "jdbc:mysql://localhost:3306/fnord", "jdbc.user" -> "fnor

我正在尝试向play应用程序添加sbt插件

插件需要一些配置,因为它需要连接到数据库。以下是插件在build.sbt文件中需要的设置:

 jooqOptions := Seq("jdbc.driver" -> "com.mysql.jdbc.Driver",
                    "jdbc.url" -> "jdbc:mysql://localhost:3306/fnord",
                    "jdbc.user" -> "fnord",
                    "jdbc.password" -> "fnord",
                    "generator.database.name" -> "org.jooq.util.mysql.MySQLDatabase",
                    "generator.database.inputSchema" -> "fnord",
                    "generator.target.packageName" -> "com.myproject.jooq")
由于用户和密码将取决于我部署应用程序的特定计算机,因此我希望从每个用户都可以自己分配用户和密码的地方加载它们


如何做到这一点?

一种方法是从环境变量中读取它们,另一种方法是在sbt项目中加载和读取的预定义路径中具有某种配置文件

由于sbt配置是scala代码,因此您可以使用
sys.env
读取环境变量。
您可以从以下位置找到我已使用接受的解决方案解决的问题:

我在build.sbt中添加了以下内容:

import com.typesafe.config._

val conf = ConfigFactory.parseFile(new File("conf/application.conf")).resolve()

version := conf.getString("app.version")
在我的application.conf中:

app.version="0.2-SNAPSHOT"