1. 程式人生 > >5、Maven-構建配置文件

5、Maven-構建配置文件

什麽是 arch 目標 posit fig cat ner 變量 any

  1. 什麽是構建配置文件?
    1. 配置文件是一組配置的集合,用來設置或者覆蓋Maven構建的默認設置
    2. 使用配置文件可以為不同的環境定制構建過程,例如Producation和Development環境。
  2. Profile在pom.xml文件中使用activeProfiles/profiles元素定義,並且可以用很多的方式觸發
    1. Profile在構建的時候修改POM文件,並且為變量設置不同的目標環境(例如:在開發、測試、和產品環境中的數據庫服務器路徑)
  3. Profile的類型
    1. profile主要有三種類型
      1. 技術分享
  4. Profile激活
    1. maven的profile可以通過一下幾種方式進行激活
      1. 顯示使用命令控制臺
      2. 通過maven設置
      3. 基於環境變量(用戶/系統變量)
      4. 操作系統配置(Windows family)
      5. 現存/殘缺 文件
    2. profile激活示例
      1. 假定工程目錄像下面這樣
        1. 技術分享
      2. 現在在src/main/resources目錄下有三個環境配置文件
        1. 技術分享
    3. 顯示Profile激活
      1. 接下來的例子當中,通過將attach maven-antrun-plugin:run目標添加到測試階段中,這樣可以在我們的不同的Profile中輸出文本信息。
      2. 我們通過使用pom.xml來定義不同的Profile,並在命令行窗口中使用maven命令進行激活Profile
      3. 假定有一下的文件
        1. <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">
          <modelVersion>4.0.0</modelVersion>
          <groupId>com.companyname.projectgroup</groupId>
          <artifactId>project</artifactId>
          <version>1.0</version>
          <profiles>
          <profile>
          <id>test</id>
          <build>
          <plugins>
          <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.1</version>
          <executions>
          <execution>
          <phase>test</phase>
          <goals>
          <goal>run</goal>
          </goals>
          <configuration>
          <tasks>
          <echo>Using env.test.properties</echo>
          <copy file="src/main/resources/env.test.propertiestofile
          ="${project.build.outputDirectory}/env.properties"/>
          </tasks>
          </configuration>
          </execution>
          </executions>
          </plugin>
          </plugins>
          </build>
          </profile>
          </profiles>
          </project>
        2. 假定有以上文件,在控制臺跳轉到文件所在路徑,然後執行一下命令
          1. mvn test -Ptest
          2. Maven 將會顯示並且test Profile的結果
    4. 現在我們練習一下可以按照接下來的步驟這麽做
      1. 在pom.xml文件的profiles元素中添加一個profile元素(拷貝已有的profile元素並粘貼到profiles元素的結尾)
      2. 將此profile元素的id從test改為normal
      3. 將任務部分修改為echo env.properties以及copy env.properties到目標目錄
      4. 再次重復以上三個步驟,修改id為prod,修改task部分為env.prod.properties
      5. 全部就是這些了,現在有了三個構建配置文件(normal/test/prod)
        1. 在命令行窗口,跳轉到pom.xml所在目錄,執行以下的mvn命令,使用-P選項來指定profile的名稱
        2. mvn test -Pnormal
          mvn test -Pprod
        3. 檢查構建的輸出有什麽不同!
    5. 通過Maven設置激活Profile
      1. 打開maven的setting.xml文件,該文件可以在%USER_HOME%/.m2目錄下面找到,
      2. 如果setting.xml不存在,則需要創建一個
      3. 在下面的例子當中,使用activeProfiles節點添加test配置作為激活Profile
        1. <settings 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/settings-1.0.0.xsd">
          <mirrors>
          <mirror>
          <id>maven.dev.snaponglobal.com</id>
          <name>Internal Artifactory Maven repository</name>
          <url>http://repo1.maven.org/maven2/</url>
          <mirrorOf>*</mirrorOf>
          </mirror>
          </mirrors>
          <activeProfiles>
          <activeProfile>test</activeProfile>
          </activeProfiles>
          </settings>
        2. 命令行控制臺,跳轉到pom.xml文件所在的目錄,並且執行以下的mvn命令,不要使用-P選項指定Profile的名稱
          1. Maven將顯示被激活的test Profile的結果
          2. mvn test
    6. 通過環境激活Profile
      1. 現在從maven的setting.xml文件中刪除激活的Profile,並且更新pom.xml中的test Profile,將下面的內容添加到profile元素的activation元素中
      2. 當系統屬性env被設置成“test”的時候,test配置將會被觸發,創建一個環境變量“env”並設置他的值為“test”
        1. <profile>
          <id>test</id>
          <activation>
          <property>
          <name>env</name>
          <value>test</value>
          </property>
          </activation>
          </profile>
      3. 打開控制臺窗口,跳轉到pom.xml文件所在的目錄,並且執行一下的mvn命令
      4. mvn test
    7. 通過操作系統激活Profile
      1. activation元素包含下面的操作系統的信息
      2. 當系統為WindowsXP的時候,test Profile文件會觸發
      3. <profile>
        <id>test</id>
        <activation>
        <os>
        <name>Windows XP</name>
        <family>Windows</family>
        <arch>x86</arch>
        <version>5.1.2600</version>
        </os>
        </activation>
        </profile>
      4. 現在控制臺跳轉到pom.xml所在的目錄,並且執行以下的mvn命令。不要使用-P選項指定profile 的名稱,Maven將顯示被激活的test Profile的結果
      5. mvn  test





來自為知筆記(Wiz)

5、Maven-構建配置文件