我正在尝试将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")
由于用户和密码将取决于我部署应用程序的特定计算机,我想从每个用户可以自己分配用户和密码的地方加载它们。
我该怎么做?
答案 0 :(得分:1)
一种方法是从环境变量中读取它们,另一种方法是在您在sbt项目中加载和读取的预定义路径中具有某种配置文件。
由于sbt配置是scala代码,因此您可以使用sys.env
来读取环境变量。
您可以找到scaladoc for sys.env here
答案 1 :(得分:1)
我使用以下公认的解决方案解决了这个问题:
How get application version in play framework and build.sbt
我已将此添加到我的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"