maven之pom.xml

<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/maven-v4_0_0.xsd">
  
  <!-- 
                  Default (or Build) 生命週期
          validate    檢查工程配置是否正確,完成構建過程的全部必要信息是否可以獲取到。
        initialize    初始化構建狀態,例如設置屬性。
        generate-sources    生成編譯階段須要包含的任何源碼文件。
        process-sources    處理源代碼,例如,過濾任何值(filter any value)。
        generate-resources    生成工程包中須要包含的資源文件。
        process-resources    拷貝和處理資源文件到目的目錄中,爲打包階段作準備。
        compile    編譯工程源碼。
        process-classes    處理編譯生成的文件,例如 Java Class 字節碼的增強和優化。
        generate-test-sources    生成編譯階段須要包含的任何測試源代碼。
        process-test-sources    處理測試源代碼,例如,過濾任何值(filter any values)。
        test-compile    編譯測試源代碼到測試目的目錄。
        process-test-classes    處理測試代碼文件編譯後生成的文件。
        test    使用適當的單元測試框架(例如JUnit)運行測試。
        prepare-package    在真正打包以前,爲準備打包執行任何須要的操做。
        package    獲取編譯後的代碼,並按照可發佈的格式進行打包,例如 JAR、WAR 或者 EAR 文件。
        pre-integration-test    在集成測試執行以前,執行所需的操做。例如,設置所需的環境變量。
        integration-test    處理和部署必須的工程包到集成測試可以運行的環境中。
        post-integration-test    在集成測試被執行後執行必要的操做。例如,清理環境。
        verify    運行檢查操做來驗證工程包是有效的,並知足質量要求。
        install    安裝工程包到本地倉庫中,該倉庫能夠做爲本地其餘工程的依賴。
        deploy    拷貝最終的工程包到遠程倉庫中,以共享給其餘開發人員和工程。
  
          說明:mvn compile,只有該階段以前以及包括該階段在內的全部階段會被執行。
   -->
  
  <modelVersion>4.0.0</modelVersion>
  <!-- 工程組的標識 -->
  <groupId>com.maven.com</groupId>
  <!-- 工程的標識 -->
  <artifactId>maven</artifactId>
  <!-- 打包成的類型:war jar -->
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>maven Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <!-- 遠程倉庫 -->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- 外部依賴 (當不能使用遠程倉庫時,能夠考慮外部依賴)-->
    <!--  
    <dependency>
        <groupId>ojdbc</groupId>
        <artifactId>ojdbc</artifactId>
        <scope>system</scope>
        <version>1.0</version>
        <systemPath>${basedir}\src\main\resources\ojdbc.jar</systemPath>
    </dependency>
    -->
  </dependencies>
  <build>
    <finalName>maven</finalName>
    <!-- 插件 -->
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <id>id.clean</id>
                    <phase>clean</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <echo>clean phase</echo>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <!-- mvn:site Maven Site 插件通常用來建立新的報告文檔、部署站點等 -->
        <!-- 
            site生命週期:
                pre-site
                site
                post-site
                site-deploy
         -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
              <execution>
                 <id>id.pre-site</id>
                 <phase>pre-site</phase>
                 <goals>
                    <goal>run</goal>
                 </goals>
                 <configuration>
                    <tasks>
                       <echo>pre-site phase</echo>
                    </tasks>
                 </configuration>
              </execution>
              <execution>
                 <id>id.site</id>
                 <phase>site</phase>
                 <goals>
                 <goal>run</goal>
                 </goals>
                 <configuration>
                    <tasks>
                       <echo>site phase</echo>
                    </tasks>
                 </configuration>
              </execution>
              <execution>
                 <id>id.post-site</id>
                 <phase>post-site</phase>
                 <goals>
                    <goal>run</goal>
                 </goals>
                 <configuration>
                    <tasks>
                       <echo>post-site phase</echo>
                    </tasks>
                 </configuration>
              </execution>
              <execution>
                 <id>id.site-deploy</id>
                 <phase>site-deploy</phase>
                 <goals>
                    <goal>run</goal>
                 </goals>
                 <configuration>
                    <tasks>
                       <echo>site-deploy phase</echo>
                    </tasks>
                 </configuration>
              </execution>
           </executions>
        </plugin>
        <!-- 構建自動化:有兩個項目依賴本項目,分別爲 app-web-ui與app-desktop-ui,一旦本項目建立成功,則會加載app-web-ui與app-desktop-ui-->
        <!-- 具體實例:http://wiki.jikexueyuan.com/project/maven/build-automation.html -->
        <plugin>
            <artifactId>maven-invoker-plugin</artifactId>
            <version>1.6</version>
            <configuration>
                <debug>true</debug>
                <pomIncludes>
                    <pomInclude>app-web-ui/pom.xml</pomInclude>
                    <pomInclude>app-desktop-ui/pom.xml</pomInclude>
                </pomIncludes>
            </configuration>
            <executions>
                <execution>
                    <id>build</id>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        
        <!-- maven自動化部署到tomcat: mvn clean package tomcat7:deploy  -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>  
            <artifactId>tomcat6-maven-plugin</artifactId> 
            <version>2.1</version>  
        </plugin>
        <plugin>
             <groupId>org.apache.tomcat.maven</groupId>  
             <artifactId>tomcat7-maven-plugin</artifactId>  
             <version>2.1</version> 
             <configuration>  
                 <server>local_server</server>
                 <url>http://localhost:8081/manager/text</url>
                 <path>/${project.build.finalName}</path>    
             </configuration>
        </plugin>
        
    </plugins>
  </build>
</project>
 html

相關文章
相關標籤/搜索