2015年5月11日 星期一

Maven POM Reference

Maven POM

modelVersion
  •  POM 的版本

groupId
  • 唯一值,通常為組織或專案項目。通常會以full domain name作為值,例如org.codehaus.mojo。
 
artifactId
  • package生成名字的依據,這是base name 整體名稱是由 artifactId + version 組成。

packaging
  • 打包的類型,例如jar、war、EAR 
version 
  • 如果有SNAPSHOT字串,代表開發階段。
 
url  
  • 專案放置位置,例如git的所在位置 。
 
dependencies
  • 描述

dependencies
  • 依賴關係的置放區塊,例如用到某個jar library,
    放在此處的描述maven將會自動下載至專案中,
    避免常常找不到jar的窘境。

dependency
  • dependencies中的一個項目,不同library會用dependency來宣告。 
example:

 
            org.springframework
            spring-aspects
            ${springframework.version}
       

       
            org.springframework
            spring-webmvc
            ${springframework.version}
       

      
            org.thymeleaf
            thymeleaf-spring4
            2.1.2.RELEASE
       





repositories
  • 用來設定遠端library倉庫所在的區塊。 
repository
  • 用來描述一個倉庫。
     
example :

 
        
            spring
            http://repo.spring.io/release
       

       
            repository.springsource.milestone
            http://repo.springsource.org/milestone
       

       
            neo4j-releases
            http://m2.neo4j.org/releases/
       

 



properties
  • 用來定義參數給予其他POM區塊使用。
     
example:

   
        UTF-8
        1.8
        1.0-SNAPSHOT
        1.7.6
        <springframework.version>4.0.1.RELEASE</springframework.version>
        1.7.3
        2.0.1
   


 而在依賴關係區塊中可如此使用
      
            org.springframework
            spring-webmvc
            ${springframework.version}
       




build
  • 執行打包時要做的動作。



參考資料:
  • https://maven.apache.org/pom.html