【发布时间】:2016-02-17 09:56:54
【问题描述】:
在我当前的开发/部署工作流程中,我使用 tomcat7 maven 插件将我的 (Java/Spring) Web 应用程序部署到远程 tomcat 容器。 这让我很容易通过调用来部署我的应用程序的新版本
mvn tomcat7:部署
我现在的具体问题是如何正确处理配置信息:目前我将配置信息(数据库连接信息、密码等)保存在 .properties 文件中,这些文件与我的战争一起打包,然后远程部署到容器中如上所述。此过程的一项改进是使用 maven 配置文件为不同的目标部署环境包含不同版本的 .properties。
这种方法的问题在于,敏感信息(例如密码)与 war 文件打包在一起,而我更愿意将它们放在服务器上的其他位置,对 Web 应用程序可见(例如,作为其类路径的一部分) ,但可独立管理(以便允许更改某些配置设置而无需重新构建/重新部署应用程序)。
到目前为止,我发现的唯一解决方案意味着以下步骤:
1) 不要在打包的战争中包含 .properties
2) 使用 mvn tomcat7:deploy 将战争部署到远程服务器
3) 手动将 .properties 复制到一些服务器文件夹中,这些文件夹可以通过类路径从 Web 应用程序访问
在步骤 3) 中,“手动”表示在此步骤中不使用基于 maven 的机制。有人可以建议我一些机制,通过它可以将打包的战争和配置文件分别部署到远程服务器(例如一些?
【问题讨论】: