scala - SBT - 如何根据外部源向 application.conf 文件添加/修改值
问题描述
我读到它SBT
具有生成源代码和资源文件的功能。
就我而言,我想application.conf
在项目的编译/打包期间添加/修改文件中的字段(将其他字段保留在原地)
例如,我的 application.conf 文件有如下内容:
A {
B = "Some Value"
C = "Some value to be modified"
}
我想在 SBT 中读取外部文件并更改或添加 AB 或 AC 的值
因此,如果可以按照以下方式做一些事情:
build.sbt
lazy val myProject = project.in(file('myproject')
// pseudo code - How do I do this?
.sourceGenerators in Compile += "Read file /path/to/external/file and add or replace the value of application.conf A.B = some external value"
解决方案
您可以用编译/构建项目时提供的环境变量值替换这些值。为此,您必须
A {
B = "Some Value"
B = ${?B_ENV}
C = "Some value to be modified"
C = ${?C_ENV}
}
在构建之前或在构建命令中(在它之前)中,您在终端中设置的环境变量B_ENV
在哪里?C_ENV
$ B_ENV=1 C_ENV=2 sbt run
推荐阅读
- firebase - Firebase 存储 - 如何授权文件下载?
- javascript - 更新 3 级嵌套数组 mongoose
- deno - Deno 相当于 Reader/Conn 的“窥视”?
- mixed-models - 具有不同结果测量次数的多变量多级模型
- selenium - 使用不同数据库文件的 Flask 应用程序进行 Selenium 测试
- python - 你如何编写一个绘制...2的pygame函数
- python - 如何更有效地组织 Padas Dataframes 中单元格内的元组列表?
- javascript - Shopify 如何使用 Liquid 代码段更新 UI 中的数量
- c++ - 如何将字符串转换为目录条目?
- java - 反思与收藏