如何在运行时将目录添加到war中?

时间:2015-07-23 10:31:36

标签: java maven tomcat

当maven安装目标运行时,它会将一些目录复制到src / main / resources。我想在部署应用程序时在运行时移动此功能。我们的想法是传递一个系统变量,它将保存目录路径。部署应用程序时,它应该查看该变量并复制目录。我想要实现的是为不同的环境准备一个war文件并正确地注入"注入"目标环境的正确配置。

1 个答案:

答案 0 :(得分:1)

不能不应该在构建war伪像时更改war artifact,因为groupId / artifactId / version组合在构建后被认为是不可变的并且可以被缓存。

以下是一些针对特定环境配置的常用方法

  1. 构建战争的多个版本,每个环境一个版本。在maven中,这通常通过maven-assembly-plugin
  2. 实现
  3. 包含战争中所有环境的配置(例如src/main/resources/devsrc/main/resources/prodsrc/main/resources/uat等)并使用系统属性选择要在运行时使用的配置
  4. 将特定于环境的配置存储在战争之外(例如,在文件系统上),并使用系统属性指定要使用的目录或具有不同配置的每台计算机上的固定位置(sit / uat / prod)每个