【maven】之配置開發,測試,正式環境pom.xml文件


在進行web程序開發,如果項目組沒有使用自動化發布工具(jenkins + maven + svn + tomcat ),我們一般會使用maven的熱部署來完成發布,在部署的過程中我們開發,測試,生產環境的配置文件都是不一樣的,如果是手動改動配置文件,存在很大的隱患,本文使用profile來處理這個問題!

關於maven的profile配置的描述,

profile可以讓我們定義一系列的配置信息,然后指定其激活條件。這樣我們就可以定義多個profile,然后每個profile對應不同的激活條件和配置信息,從而達到不同環境使用不同配置信息的效果。比如說,我們可以通過profile定義在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有時候我們可以通過操作系統的不同來使用不同的配置信息,比如windows下是一套信息,linux下又是另外一套信息,等等。具體的激活條件有哪些我在后文會講到。

首先我們在/src/main/resources下建立三個配置文件

/src/main/resources/dev

/src/main/resources/test

/src/main/resources/pro

 

在pom.xml中

<profiles>
        <!-- 開發 默認激活 -->
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!-- 測試服務器 -->
        <profile>
            <id>test</id>
            <properties>
                <env>test</env>
            </properties>
            
        </profile>
        <!-- 生產服務器 -->
        <profile>
            <id>pro</id>
            <properties>
                <env>pro</env>
            </properties>
        </profile>
    </profiles>

接着在build里面寫上resources配置

<resources>
            <resource>
                <directory>${project.basedir}/src/main/resources/${env}</directory>
                <includes>
                    <include>*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                 <directory>src/main/resource</directory>  
            </resource>
            <resource>  
                <directory>src/main/java</directory>  
                <includes>  
                    <include>**/*.properties</include>  
                </includes>  
                <filtering>false</filtering>  
               </resource>  
        </resources>

 

 

tomcat7熱部署配置

           <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                     <port>8088</port>
                     <path>/maven</path>
                     <uriEncoding>UTF-8</uriEncoding>
                     <!-- 啟動tomcat熱部署 -->
                     <url>http://127.0.0.1:8081/manager/text</url>
                      <username>admin</username>
                       <password>admin</password>
                </configuration>
            </plugin>

 

 

tomcat的tomcat-user.xml配置

 <role rolename="admin-gui"/> 
  <role rolename="manager-script"/>
  <role rolename="manager-gui"/>
  <user username="admin" password="admin" roles=" admin-gui , manager-gui,manager-script "/>

 

 

直接在maven界面的Goals

執行clean package -Ptest tomcat7:redeploy 

即可以將應用發布到測試服務器,引用的配置文件是test下的配置文件

 

 

發布到正式環境只需要更改熱部署tomcat的url

執行clean package -Ppro tomcat7:redeploy 

 

 本地開發,默認加載執行的就是dev下配置文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM