• maven根据不同的environment打包配置


    一、maven根据不同的environment打包配

    一个项目里总会有很多配置文件。而且一般都会有多套环境。开发的、测试的、正式的。而在这些不同的环境这些配置的值都会不一样。
    比如mail的配置、服务的url配置这些都是很常见的。
    所以在打包的时候就要根据environment来选不同的值或者配置文件。
    比较常用的办法就是为不同的环境建立不同的配置文件目录。在打包的时候用对应的文件目录下的配置文件。 |-- resources | |-- dev | |-- test | |-- pro 在pom.xml里定义一个打包用的profile变量
     1 <!-- 开发 -->
     2 <profile>
     3     <id>dev</id>
     4     <properties>
     5         <package.environment>dev</package.environment>
     6     </properties>
     7 </profile>
     8 <!-- 测试 -->
     9 <profile>
    10     <id>test</id>
    11     <properties>
    12         <package.environment>test</package.environment>
    13     </properties>
    14 </profile>
    15 <!-- 生产 -->
    16 <profile>
    17     <id>pro</id>
    18     <properties>
    19         <package.environment>pro</package.environment>
    20     </properties>
    21 </profile>
    pom.xml引用profile变量
     1 <plugin>
     2      <artifactId>maven-war-plugin</artifactId>
     3      <version>3.0.0</version>
     4      <configuration>
     5          <warSourceDirectory>src/main/webapp</warSourceDirectory>
     6          <archive>
     7              <addMavenDescriptor>false</addMavenDescriptor>
     8          </archive>
     9          <!--<warName>app</warName>-->
    10          <webResources>
    11              <resource>
    12                <directory>src/main/resources/config/${package.environment}</directory>
    13                  <targetPath>WEB-INF/classes/config</targetPath>
    14                  <filtering>true</filtering>
    15              </resource>
    16         </webResources>
    17     </configuration>
    18</plugin>
    org.apache.maven.plugins插件<webResources>动态指定参数${package.environment}对应文件夹下的文件到WEB-INF/classes下
    注意
    :参数<filtering>true</filtering>,一定要设置成true这样才会用对应environment目录下的配置文件覆盖原来的

    二、结合idea打包命令

     1.本地开发打包命令

    clean package -DskipTests -Pdev

    2.生产环境打包命令

    clean package -DskipTests -Ppro
  • 相关阅读:
    Ubuntu学习
    Django之 Views组件
    Django之 admin组件
    Django之 Models组件
    Django之 url组件
    递归
    python 之 编码
    Python 之 Restful API设计规范
    Django之实现登录随机验证码
    git &github 快速入门
  • 原文地址:https://www.cnblogs.com/luohero/p/7600660.html
Copyright © 2020-2023  润新知