1. 程式人生 > >maven pom標籤配置詳解

maven pom標籤配置詳解

<modelVersion>4.0.0</modelVersion>   
<!--專案的全球唯一識別符號,通常使用全限定的包名區分該專案和其他專案。並且構建時生成的路徑也是由此生成, 如com.mycompany.app生成的相對路徑為:/com/mycompany/app-->   
<groupId>asia.banseon</groupId>   
<!-- 構件的識別符號,它和group ID一起唯一標識一個構件。換句話說,你不能有兩個不同的專案擁有同樣的artifact ID和groupID;在某個 特定的group ID下,artifact ID也必須是唯一的。構件是專案產生的或使用的一個東西,Maven為專案產生的構件包括:JARs,源 碼,二進位制釋出和WARs等。-->   
<artifactId>banseon-maven2</artifactId>   
<!--專案產生的構件型別,例如jar、war、ear、pom。外掛可以建立他們自己的構件型別,所以前面列的不是全部構件型別-->   
<packaging>jar</packaging>   
<!--專案當前版本,格式為:主版本.次版本.增量版本-限定版本號-->   
<version>1.0-SNAPSHOT</version>   
<!--專案的名稱, Maven產生的文件用-->   
<name>banseon-maven</name>   
<!--專案主頁的URL, Maven產生的文件用-->   
<url>http://www.baidu.com/banseon</url>   
<!-- 專案的詳細描述, Maven 產生的文件用。  當這個元素能夠用HTML格式描述時(例如,CDATA中的文字會被解析器忽略,就可以包含HTML標 籤), 不鼓勵使用純文字描述。如果你需要修改產生的web站點的索引頁面,你應該修改你自己的索引頁檔案,而不是調整這裡的文件。-->   
<description>A maven project to study maven.</description>   
<!--描述了這個專案構建環境中的前提條件。-->  
jira http://jira.baidu.com/banseon
Demo
[email protected]
[email protected] [email protected] http:/hi.baidu.com/banseon/demo/dev/ HELLO WORLD banseon
[email protected]
Project Manager Architect demo http://hi.baidu.com/banseon No -5 Apache 2 http://www.baidu.com/banseon/LICENSE-2.0.txt repo A business-friendly OSS license scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk) scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk http://svn.baidu.com/banseon demo http://www.baidu.com/banseon ...... ...... Windows XP Windows x86 5.1.2600 mavenVersion 2.0.3 /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/ /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/ ...... ...... ...... ...... ...... ...... banseon-repository-proxy banseon-repository-proxy http://192.168.1.169:9999/repository/ default ......
<!--該元素描述了專案相關的所有依賴。 這些依賴組成了專案構建過程中的一個個環節。它們自動從專案定義的倉庫中下載。要獲取更多資訊,請看專案依賴機制。-->   
<dependencies>   
    <dependency>  
        <groupId>org.apache.maven</groupId>   
        <!--依賴的artifact ID-->  
        <artifactId>maven-artifact</artifactId>   
        <!--依賴的版本號。 在Maven 2裡, 也可以配置成版本號的範圍。-->  
        <version>3.8.1</version>   
        <!-- 依賴型別,預設型別是jar。它通常表示依賴的檔案的副檔名,但也有例外。一個型別可以被對映成另外一個副檔名或分類器。型別經常和使用的打包方式對應, 儘管這也有例外。一些型別的例子:jar,war,ejb-client和test-jar。如果設定extensions為 true,就可以在 plugin裡定義新的型別。所以前面的型別的例子不完整。-->  
        <type>jar</type>  
        <!-- 依賴的分類器。分類器可以區分屬於同一個POM,但不同構建方式的構件。分類器名被附加到檔名的版本號後面。例如,如果你想要構建兩個單獨的構件成 JAR,一個使用Java 1.4編譯器,另一個使用Java 6編譯器,你就可以使用分類器來生成兩個單獨的JAR構件。-->  
        <classifier></classifier>  
        <!--依賴範圍。在專案釋出過程中,幫助決定哪些構件被包括進來。欲知詳情請參考依賴機制。  
            - compile :預設範圍,用於編譯    
            - provided:類似於編譯,但支援你期待jdk或者容器提供,類似於classpath    
            - runtime: 在執行時需要使用    
            - test:    用於test任務時使用    
            - system: 需要外在提供相應的元素。通過systemPath來取得    
            - systemPath: 僅用於範圍為system。提供相應的路徑    
            - optional:   當專案自身被依賴時,標註依賴是否傳遞。用於連續依賴時使用-->   
        <scope>test</scope>     
        <!--僅供system範圍使用。注意,不鼓勵使用這個元素,並且在新的版本中該元素可能被覆蓋掉。該元素為依賴規定了檔案系統上的路徑。需要絕對路徑而不是相對路徑。推薦使用屬性匹配絕對路徑,例如${java.home}。-->  
        <systemPath></systemPath>   
        <!--當計算傳遞依賴時, 從依賴構件列表裡,列出被排除的依賴構件集。即告訴maven你只依賴指定的專案,不依賴專案的依賴。此元素主要用於解決版本衝突問題-->  
        <exclusions>  
         <exclusion>   
                <artifactId>spring-core</artifactId>   
                <groupId>org.springframework</groupId>   
            </exclusion>   
        </exclusions>     
        <!--可選依賴,如果你在專案B中把C依賴宣告為可選,你就需要在依賴於B的專案(例如專案A)中顯式的引用對C的依賴。可選依賴阻斷依賴的傳遞性。-->   
        <optional>true</optional>  
    </dependency>  
</dependencies>  
<!--不贊成使用. 現在Maven忽略該元素.-->  
<reports></reports>  
<!--該元素描述使用報表外掛產生報表的規範。當用戶執行“mvn site”,這些報表就會執行。 在頁面導航欄能看到所有報表的連結。-->  
...... banseon-maven2 banseon maven2 file://${basedir}/target/deploy banseon-maven2 Banseon-maven2 Snapshot Repository scp://svn.baidu.com/banseon:/usr/local/maven-snapshot banseon-site business api website scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web