計算機程序虛擬的人生
          虛擬世界中的游魂

          超級POM
          所有的Maven項目的POM都擴展自超級POM。你可以在${M2_HOME}/lib中的maven-2.0.9-uber.jar文件中找到pom-4.0.0.xml
          超級pom:
          <project>
            <modelVersion>4.0.0</modelVersion>
            <name>Maven Default Project</name>

            <repositories>
              <repository>
                <id>central</id>
                <name>Maven Repository Switchboard</name>
                <layout>default</layout>
                <url>http://repo1.maven.org/maven2</url>
                <snapshots>
                  <enabled>false</enabled>
                </snapshots>
              </repository>
            </repositories>

            <pluginRepositories>
              <pluginRepository>
                <id>central</id>
                <name>Maven Plugin Repository</name>
                <url>http://repo1.maven.org/maven2</url>
                <layout>default</layout>
                <snapshots>
                  <enabled>false</enabled>
                </snapshots>
                <releases>
                  <updatePolicy>never</updatePolicy>
                </releases>
              </pluginRepository>
            </pluginRepositories>

            <build>
              <directory>target</directory>
              <outputDirectory>target/classes</outputDirectory>
              <finalName>content-zh-0.5</finalName>
              <testOutputDirectory>target/test-classes</testOutputDirectory>
              <sourceDirectory>src/main/java</sourceDirectory>
              <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
              <testSourceDirectory>src/test/java</testSourceDirectory>
              <resources>
                <resource>
                  <directory>src/main/resources</directory>
                </resource>
              </resources>
              <testResources>
                <testResource>
                  <directory>src/test/resources</directory>
                </testResource>
              </testResources>
            </build>

                <pluginManagement>
                 <plugins>
                   <plugin>
                     <artifactId>maven-antrun-plugin</artifactId>
                     <version>1.1</version>
                   </plugin>      
                   <plugin>
                     <artifactId>maven-assembly-plugin</artifactId>
                     <version>2.2-beta-1</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-clean-plugin</artifactId>
                     <version>2.2</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <version>2.0.2</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-dependency-plugin</artifactId>
                     <version>2.0</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-deploy-plugin</artifactId>
                     <version>2.3</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-ear-plugin</artifactId>
                     <version>2.3.1</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-ejb-plugin</artifactId>
                     <version>2.1</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-install-plugin</artifactId>
                     <version>2.2</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-jar-plugin</artifactId>
                     <version>2.2</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-javadoc-plugin</artifactId>
                     <version>2.4</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-plugin-plugin</artifactId>
                     <version>2.3</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-rar-plugin</artifactId>
                     <version>2.2</version>
                   </plugin>
                   <plugin>               
                     <artifactId>maven-release-plugin</artifactId>
                     <version>2.0-beta-7</version>
                   </plugin>
                   <plugin>               
                     <artifactId>maven-resources-plugin</artifactId>
                     <version>2.2</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-site-plugin</artifactId>
                     <version>2.0-beta-6</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-source-plugin</artifactId>
                     <version>2.0.4</version>
                   </plugin>        
                   <plugin>
                      <artifactId>maven-surefire-plugin</artifactId>
                      <version>2.4.2</version>
                   </plugin>
                   <plugin>
                     <artifactId>maven-war-plugin</artifactId>
                     <version>2.1-alpha-1</version>
                   </plugin>
                 </plugins>
               </pluginManagement>
           
            <reporting>
              <outputDirectory>target/site</outputDirectory>
            </reporting>
          </project>

          1).默認的超級POM定義了一個單獨的遠程Maven倉庫,ID為central,這是所有Maven客戶端默認配置訪問的中央Maven倉庫;該配置可以通過一個自定義的settings.xml文件來覆蓋,注意這個默認的超級POM關閉了從中央Maven倉庫下載snapshot構件的功能。如果你需要使用一個snapshot倉庫,你就要在你的pom.xml或者settings.xml中自定義倉庫設置.
          2)build元素設置Maven標準目錄布局中那些目錄的默認值.
          3)POM中定義的groupId,artifactIdversion:這三項是所有項目都需要的坐標

          groupId

          一個groupId歸類了一組相關的構件。組定義符基本上類似于一個Java包名。例如:groupId org.apache.maven是所有由Apache Maven項目生成的構件的基本groupId。組定義符在Maven倉庫中被翻譯成路徑,例如,groupId org.apache.maven可以在repo1.maven.org/maven2/org/apache/maven目錄下找到。

          artifactId

          artifactId是項目的主要定義符。當你生成一個構件,這個構件將由artifactId命名。當你引用一個項目,你就需要使用artifactId來引用它。artifactIdgroupId的組合必須是唯一的。換句話說,你不能有兩個不同的項目擁有同樣的artifactIdgroupId;在某個特定的groupId下,artifactId也必須是唯一的。

          version

          當一個構件發布的時候,它是使用一個版本號發布的。該版本號是一個數字定義符如“1.0”,“1.1.1”,或“1.1.2-alpha-01”。你也可以使用所謂的快照(snapshot)版本。一個快照版是一個處于開發過程中的組件的版本,快照版本號通常以SNAPSHOT結尾;如,“1.0-SNAPSHOT”,“1.1.1-SNAPSHOT”,和“1-SNAPSHOT”。Section 9.3.1, “項目版本”介紹了版本和版本界限。


           

          posted on 2009-06-07 21:50 小兄弟(Robbins) 閱讀(283) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          主站蜘蛛池模板: 南宁市| 海原县| 都昌县| 垫江县| 靖西县| 蛟河市| 玛沁县| 鄂托克前旗| 嘉黎县| 宜兰市| 长泰县| 益阳市| 三穗县| 蕉岭县| 重庆市| 越西县| 宁阳县| 溧水县| 福海县| 香格里拉县| 庆阳市| 乳山市| 景东| 从江县| 依兰县| 吴堡县| 象山县| 武隆县| 镇坪县| 无锡市| 遂溪县| 芷江| 浑源县| 浙江省| 张家川| 永康市| 高淳县| 西丰县| 万宁市| 年辖:市辖区| 新闻|