Maven中使用描述文件切換環境配置

首先在項目中定義一個屬性文件,如這裏的數據庫配置文件 database.propertiesmysql

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://xxx:3306/xxx?useUnicode=true&characterEncoding=utf-8
jdbc.username=xxx
jdbc.password=xxx

在其餘配置文件中引用,如Spring的配置文件 applicationContext.xmlspring

    <!-- 引入properties文件 -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
            <value>classpath:database.properties</value>
        </property>
    </bean>
    <!-- 配置DataSource -->
    <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>

接下來建立各個環境的屬性配置文件,這裏建立的配置文件是用來覆蓋前面的database.properties文件的,因此文件中的變量名須要保持一致,只須要變動各個參數值便可達到變動環境。sql

如這裏在src\main\resources\env\下建立了幾個環境的配置文件數據庫

  • dev.properties
  • prd.properties
  • pre.properties

 

而後須要在pom.xml文件中聲明環境配置和編譯過濾器apache

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <build>
    <filters>
        <filter>src/main/resources/env/${env}.properties</filter>
    </filters>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>database.properties</include>
            </includes>
        </resource>
    </resources>
  </build>
  <profiles>
      <profile>
          <id>dev</id>
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
          <properties>
              <env>dev</env>
          </properties>
      </profile>
      <profile>
          <id>pre</id>
          <properties>
              <env>pre</env>
          </properties>
      </profile>
      <profile>
          <id>prd</id>
          <properties>
              <env>prd</env>
          </properties>
      </profile>
  </profiles>
</project>

至此配置完畢,刷新Maven的面板後會發現多出一個Profiles文件夾,在裏面勾選不一樣的環境後編譯出的database.properties文件會變成對應環境的配置app

相關文章
相關標籤/搜索