首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》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章已经对该配置做过解释,这里不再赘述。