公司有个大数据项目,maven分了多个模块开发,其中有写模块可能会依赖子模块。每个模块都拥有单独的配置文件,打包的时候这些模块都变成了jar包,要修改配置文件,只能重新打包很不方便。有什么思路能够把这些配置文件进行统一管理么?
比方说hbase,项目外层建了个conf目录,所有配置文件放在conf目录下。但是不知道怎么与spring相结合。
公司有个大数据项目,maven分了多个模块开发,其中有写模块可能会依赖子模块。每个模块都拥有单独的配置文件,打包的时候这些模块都变成了jar包,要修改配置文件,只能重新打包很不方便。有什么思路能够把这些配置文件进行统一管理么?
比方说hbase,项目外层建了个conf目录,所有配置文件放在conf目录下。但是不知道怎么与spring相结合。
4 回答1.7k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
4 回答2.3k 阅读
2 回答841 阅读✓ 已解决
2 回答1.4k 阅读
思路1: 把配置文件放到外层
这个你已经说了。但是以下缺点
配置文件远离使用它的模块,要找的时候不太好找。
如果新增了一个模块,开发人员又忘记在外层conf里补充相关文件,项目就会启动不起来了。
思路2:利用maven在打包时将配置文件合并
配置还是在模块的源代码里,但是这里的配置文件只是一个模板,没有具体值,项目启动的时候会读取此路径里的配置文件。
然后在aggregator项目(比如war包)的pom.xml里做一些配置,让maven在打包时将各个jar包里的配置文件合并起来,形成一个完整的配置文件。
你可以对这个完整的配置文件形成几个版本:开发、生产、测试,放到vcs里管理起来。
比如下面的代码: