0

多环境部署web项目时可以通过指定mvn package -Pdev来设置打包的配置文件,但是如果直接用tomcat部署服务时怎么指定使用哪个环境的配置文件?
项目配置结构如下:
不同环境配置文件结构

指定加载配置文件路径
tomcat部署之后的配置文件结构

事实证明直接使用tomcat部署时使用的是dev下的配置文件,但是为什么呢???
如上第二图设置的配置文件路径为props/.properties,而部署之后的配置文件目录结构为第三图的结构,props的直接下级目录下根本就没有properties文件。那么为什么读取的是props/dev/.properties的配置文件???而不是prd或者test???
顺便问一下:通过tomcat部署时,应该不会执行pom.xml吧?不会走pom的生命周期?

1 个回答

3
  • 如果是 SpringBoot 可以很好的在启动参数中指定用哪个环境的配置文件。
  • 如果就是传统的 Spring 应用也建议在启动 Tomcat 的时候手动指定外置的配置文件。如-Ddbpro=/xx/xx/db.properties,然后在配置文件中利用 <property name="location" value="${appprop}" />来加载。
  • 如果是分布式应用就建议使用配置中心来解耦了,统一管理配置。