如何在构建war包之后在java应用程序中添加/编辑属性文件

时间:2016-06-08 13:42:06

标签: java maven jenkins

我正在使用maven为java应用程序构建一个war包。这个战争包括一些属性文件(每个env大约有10个文件)但它需要根据环境更新(dev,test,stage, prod)在以下文件夹中。

/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/
/usr/local/tomcat/webapps/ROOT/js
/usr/local/tomcat/webapps/axis2/WEB-INF/classes/templates/
/usr/local/tomcat/webapps/axis2/WEB-INF/classes/

截至目前,我在每个虚拟机中都有一个脚本,用于将这些属性文件复制到提取的war文件夹中。但它很麻烦。因此,我需要在构建过程中更新这些属性文件。

问题:我们如何在maven或jenkins中实现这一目标?

1 个答案:

答案 0 :(得分:1)

要为多个环境构建,您可以使用新的multienv-maven-plugin,在项目中提供不同的配置,并在单个构建中为不同的环境构建。

例如,您的项目将提供不同的环境配置:

src
  ├── main 
        ├── environments
             ├── dev-01
             │   └── first.properties
             ├── dev-02
             │   └── first.properties
             ├── test-01
             │   └── first.properties
             ├── test-02
             │   └── first.properties
             └── prod
                 └── first.properties

该插件会根据上面的配置创建不同的人工制品:

- artifactId-version-dev-01.war
- artifactId-version-dev-02.war
- artifactId-version-test-01.war
- artifactId-version-test-02.war
- artifactId-version-prod.war

然后您不需要进一步的脚本,而是将每个人工制品部署到其相关的目标环境。