Maven爲不一樣環境配置打包

1 應用場景

在開發過程當中常常要遇到爲不一樣的環境打包,這裏面最主要的問題在於,不一樣環境的配置是不同的,若是爲不一樣環境打包每次都手工修改配置,那不但工做量大,並且很容易出錯。apache

2 配置pom文件

<profiles>
        <profile>
            <!-- 開發環境 -->
            <id>dev</id>
            <properties>
                <!-- 經過env設置當前工做環境(重要) -->
                <env>dev</env>
            </properties>
            <build>
                <finalName>${project.name}</finalName>
                <!--  -->
                <resources>
                    <resource>
                        <!-- 定義resource所在的文件夾 -->
                        <directory>src/main/resources</directory>
                        <includes>
                            <include>**/*.properties</include>
                            <include>**/*.xml</include>
                        </includes>
                        <filtering>true</filtering>
                    </resource>
                    <resource>
                        <directory>src/main/resources</directory>
                    </resource>
                </resources>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <!-- tomcat7-maven-plugin -->
                            <groupId>org.apache.tomcat.maven</groupId>
                            <artifactId>tomcat7-maven-plugin</artifactId>
                            <version>2.2</version>
                            <executions>
                                <execution>
                                    <id>run-war-only</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>run-war-only</goal>
                                    </goals>
                                </execution>
                            </executions>
                            <configuration>
                                <warDirectory>target/${project.name}</warDirectory>
                                <path>/</path>
                                <contextReloadable>true</contextReloadable>
                                <uriEncoding>UTF-8</uriEncoding>
                                <!-- 指定啓動端口 -->
                                <port>${server.port}</port>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>            
        </profile>
</profiles>

3 修改xml文件讀取配置文件的路徑

4 Tomcat打包熱部署測試

1.在tomcat的安裝目錄下,修改conf / tomcat-user.xml文件,在<tomcat-users> 節點下面增長以下配置:tomcat

  1. <role rolename="manager-gui" />  
  2. <role rolename="manager-script" />  
  3. <user username="tomcat" password="tomcat" roles="manager-gui, manager-script" /> 

2.在maven中添加server,配置tomcat的管理員賬號密碼maven

如今tomcat開啓了權限,maven既然要操做tomcat,那麼maven就要拿到tomcat的管理員賬號和密碼纔可以使用。測試

在maven的安裝目錄下,修改conf / setting.xml文件.在<server> 節點下面增長以下配置:ui

  1. <server>    
  2.        <id>admin</id>    
  3.        <username>tomcat</username>    
  4.        <password>tomcat</password>    
  5. </server>  

3.在project中添加插件,以及maven中配置的server,url

如今maven已經擁有操做tomcat的權限了,可是這二者之間想要通訊的話還須要一個橋樑,那就是在maven中配置tomcat插件.spa

修改項目的pom.xml文件,在<build> 節點下面增長以下配置:插件

  1. <plugins>  
  2.             <!-- 第一種方式: apache官方tomcat插件,支持deploy -->  
  3.             <plugin>  
  4.                 <groupId>org.apache.tomcat.maven</groupId>  
  5.                 <artifactId>tomcat7-maven-plugin</artifactId>  
  6.                 <version>2.0-SNAPSHOT</version>  
  7.                 <configuration>  
  8.                     <url>http://localhost:8080/manager/text</url>  
  9.                     <server>admin</server>  
  10.                 </configuration>  
  11.             </plugin>  
  12.             <!-- 第二種方式: 第三方tomcat插件,支持redeploy -->  
  13.             <plugin>  
  14.                 <groupId>org.codehaus.mojo</groupId>  
  15.                 <artifactId>tomcat-maven-plugin</artifactId>  
  16.                 <version>1.1</version>  
  17.                 <configuration>  
  18.                     <url>http://localhost:8080/manager/text</url>  
  19.                     <server>admin</server>  
  20.                     <ignorePackaging>true</ignorePackaging>  
  21.                 </configuration>  
  22.             </plugin>  
  23. </plugins>  

4.打包命令code

clean:clean package -P dev tomcat7:run-war-only -f pom.xml

說明:server

  • dev爲當前工做環境
  • 使用tomcat7打包
相關文章
相關標籤/搜索