我有一个用Scala编写的Maven项目,并部署为.jar
。该项目具有典型的结构:
project-root
|__src
|__main
| |__scala
| |__resources
|
|__test
|__scala
|__resources
我在应用程序中有许多硬编码值,我想将其提取到配置文件中。
我可以在任何地方创建文本配置文件,从代码中读取并使用参数,但我正在寻找最佳实践/方法。我想考虑这些事情:
.jar
?那将非常实用。project-root/src/config
目录并将文件放在那里?答案 0 :(得分:1)
如果您希望能够在不构建jar的情况下更改配置值,则需要将配置置于工件外部。有办法修改内置jar的内容,但我不认为这是你想要做的。如果你想拥有配置,你可以随时更改,将它保存在jar之外,并在运行时在Classpath上引用它。
如果要将其保留在工件上,并在更改值时重建,请将配置文件保留在src / main / resources中。 Maven会在归档的根目录下自动将它打包到你的jar中。
至于格式,这可能是个人偏好。阅读YAML通常需要另一个库(如snakeyml)来有效地解析,所以如果你试图让你的库保持依赖关系,可以改为查看.config或.properties文件。否则,XML和YAML总是很适合复杂的配置。