gpt4 book ai didi

java - 特定于环境的构建与加载特定于环境的属性

转载 作者:搜寻专家 更新时间:2023-11-01 01:57:34 24 4
gpt4 key购买 nike

构建的一个选项是在构建时打包特定于环境的属性(例如使用 maven 配置文件)

另一种选择是在您的生产环境中设置-Denv=production,并在启动时加载/${env}/config.properties。 (例如,spring 允许这样做,但可以手动完成)

我都用过。前者意味着不需要额外的环境配置。后者允许在多个环境中使用相同的构建。

问题:任何其他重要的优点/缺点,或者选择哪种方法几乎相同?

相关:Load environment-specific properties for use with PropertyPlaceholderConfigurer?

最佳答案

在我看来,每个环境都有不同的输出是一个主要缺点,因为这意味着您需要构建应用程序的 N 个副本,运行相同的构建命令 N 次,等等。在您提供QA 网站等的“开发”版本。

我喜欢第三种选择——将配置值存储在服务器本身上,与应用程序分开,然后编写应用程序以知道在哪里可以找到这些配置文件,或者你有某种脚本可以通过用外部文件中的规范值替换其配置文件中的标记来“重新配置”应用程序。

通过这种方式,您可以为所有环境提供相同的二进制文件,并且可以轻松地将外部配置置于源代码控制之下(例如,每个环境一个文件),以便可以审核更改、自动传播更改等。

如果您在一个大型组织中工作,这也是一个方便的选择,在该组织中,开发人员与“操作”应用程序或负责不同环境的团队是分开的 - 因为使用这种方法,开发人员可以知道什么 进行配置,但另一组负责为每台主机提供哪些配置值

关于java - 特定于环境的构建与加载特定于环境的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com