针对不同环境的Maven配置文件 - 糟糕的做法?

时间:2015-09-22 09:06:10

标签: java maven

我有几个项目,我使用maven配置文件来调整不同环境的配置值:开发,测试,预生产......

我知道使用maven从相同的代码创建不同的工件是一种不好的做法。相反,最好让项目包含多个模块,每个模块都有特定的配置。

我认为当您想要更改Java代码时,这是可以的,例如,当您想要注入bean的不同实现时(每个客户端一个)。但就我而言,这只是属性配置的问题。

  • 这真的是一种不好的做法吗?
  • 将项目配置从配置文件更改为模块是否值得?
  • 真正的好处是什么?

1 个答案:

答案 0 :(得分:2)

除了@khmarbaise在评论中所说的内容之外,配置文件只应用于更改方式构建工件,工件本身。

我能想到的良好形象用法的例子:

  • 根据构建机器使用不同的repos
  • 编译器选项,具体取决于构建机器或构建降级的DEV / TEST版本
  • 运行或不运行一些耗时的测试
  • 集成测试的配置(哪个端口,要使用的数据库,......)
  • ...

客户/客户差异和注入选择应始终进行配置。

您的配置可以在一个地方维护,适用于所有模块,每个模块只使用与自身相关的密钥。