Maven-05-一個簡單的POM範例

我們先來看看Maven自動產生的pom.xml

Screen Shot 2017-03-07 at 9.34.58 PM

  • pom.xml 包含了整個 maven專案許多資訊,一般狀況下專案裡的pom.xml 遠比上面這個範例複雜的多,還會包含更多的dependency或是自定義的plugin等等。
  • 一開始的groupId, artifactId, version, packaging 通稱為maven coordinates (座標),前三個資訊可以構成一個該專案特有的識別名稱
  • name, url 則是定義了專案名稱、專案網站資訊。這邊的name是讓開發人員自己看的。通常我們使用各種支援maven的開發工具時(Eclipse, NetBeans, IntelliJ IDEA) ,這些開發工具會把artifactId當作專案名稱
  • properties 定義了 pom.xml 裡面的「全域屬性」,如上所示,定義了一個 “project.build.sourceEncoding = UTF-8″的property,如果在pom.xml其它地方需要參照”UTF-8″這個設定,我們可以直接使用 ${project.build.sourceEncoding} 這樣的表示方式
  • 一組dependency 包含了 groupId, artifactId, version 以及
    • packaging 可忽略不寫,默認為jar
    • scope 如果不寫,默認為compile,這邊的junit scope 為test,意思是說這個dependency只有在跑unit test時才會使用到,之後專案要打包釋出時,並不會包含scope為test的dependency,有關dependency scope ,會在之後的文章中詳細說明!

maven專案可以具有上下從屬關係,pom.xml 會繼承每一階層的設定。而單一階層的專案也會繼承自maven最上層的 super-POM (如同Java裡所有物件都繼承自Object),大家可以試著在專案根目錄執行 mvn help:effective-pom,看看「完整版」的pom會長什麼樣子!

咱們下回見囉~

Facebook Comments