讀古今文學網 > Maven實戰 > 5.3.1 account-email的POM >

5.3.1 account-email的POM

首先看一下該模塊的POM,見代碼清單5-1。

代碼清單5-1 account-email的POM

先觀察該項目模塊的坐標,groupId:com.juvenxu.mvnbook.account;artifactId:account-email;version:1.0.0-SNAPSHOT。由於該模塊屬於賬戶註冊服務項目的一部分,因此,其groupId對應了account項目。緊接著,該模塊的artifactId仍然以account作為前綴,以方便區分其他項目的構建。最後,1.0.0-SNAPSHOT表示該版本處於開發中,還不穩定。

再看dependencies元素,其包含了多個dependency子元素,這是POM中定義項目依賴的位置。以第一個依賴為例,其groupId:artifactId:version為org.springframework:spring-core:2.5.6,這便是依賴的坐標,任何一個Maven項目都需要定義自己的坐標,當這個Maven項目成為其他Maven項目的依賴的時候,這組坐標就體現了其價值。本例中的spring-core,以及後面的spring-beans、spring-context、spring-context-support是Spring Framework實現依賴注入等功能必要的構件,由於本書的關注點在於Maven,只會涉及簡單的Spring Framework的使用,不會詳細解釋Spring Framework的用法,如果讀者有不清楚的地方,請參閱Spring Framework相關的文檔。

在spring-context-support之後,有一個依賴為javax.mail:mail:1.4.1,這是實現發送必須的類庫。

緊接著的依賴為junit:junit:4.7,JUnit是Java社區事實上的單元測試標準,詳細信息請參閱http://www.junit.org/,這個依賴特殊的地方在於一個值為test的scope子元素,scope用來定義依賴範圍。這裡讀者暫時只需要瞭解當依賴範圍是test的時候,該依賴只會被加入到測試代碼的classpath中。也就是說,對於項目主代碼,該依賴是沒有任何作用的。JUnit是單元測試框架,只有在測試的時候才需要,因此使用該依賴範圍。

隨後的依賴是com.icegreen:greenmail:1.3.1b,其依賴範圍同樣為test。這時也許你已經猜到,該依賴同樣只服務於測試目的,GreenMail是開源的郵件服務測試套件,account-email模塊使用該套件來測試郵件的發送。關於GreenMail的詳細信息可訪問http://www.icegreen.com/greenmail/。

最後,POM中有一段關於maven-compiler-plugin的配置,其目的是開啟Java 5的支持,第3章已經對該配置做過解釋,這裡不再贅述。