现实中的Maven项目

《Maven权威指南》第六章. 一个多模块项目 ,以及第七章. 多模块企业级项目 都已翻译完毕。

 

一个现实生活中的Maven项目只有一个POM文件,那是不现实的。典型的项目会和数据库交互,和Web Service交互,有自己的业务逻辑,暴露Web Service,有命令行应用程序,有Web应用程序……这个时候,必须分一下模块,松散耦合,清晰关联,增加重用等等好处不用多说。这两章内容,就是介绍怎样使用Maven的模块集成及聚合相关功能的。

 

看一看多模块企业级项目的模块关系图:

这里有一个父模块,一个web应用,一个命令行应用,一个持久化模块,一个业务逻辑模块,一个模型对象模块。基本上,这个图能很典型的代表很多项目的结构了。该图中,展现了模块之间的各种关系,有依赖(dependency),传递性依赖(transitive dependency),子模块(module of),继承(inherits from)。

 

这里配置子模块的XML片段为:

  <modules>
    <module>simple-command</module>
    <module>simple-model</module>
    <module>simple-weather</module>
    <module>simple-persist</module>
    <module>simple-webapp</module>
  </modules>

配置继承的XML片段为:

  <parent>
    <groupId>org.sonatype.mavenbook.ch07</groupId>
    <artifactId>simple-parent</artifactId>
    <version>1.0</version>
  </parent>
  <artifactId>simple-model</artifactId>
  <packaging>jar</packaging>

配置依赖的XML片段为:

    <dependency>
      <groupId>org.sonatype.mavenbook.ch07</groupId>
      <artifactId>simple-model</artifactId>
      <version>1.0</version>
    </dependency>

关于传递性依赖,这里做个简单的解释,项目A依赖于项目B,而项目B依赖于项目C,那么项目A就自动会拥有对于项目C的传递性依赖。 如上图中,simple-webapp模块直接依赖于simple-weather模块,而simple-weather模块直接依赖于simple-model模块,那么simple-webapp就拥有对于simple-model的传递性依赖。

 

第七章的内容,真正涉及Maven的其实不是很多,相反,作者花了很大篇幅介绍使用Hibernate,Spring,Velocity等等较为流行的Java开源框架,这些内容也是实际开发中常常会遇见的。

 

项目越大,Maven所体现的优势也就越大,要真正在实际项目中使用Maven,那么,这两章内容必定能够很好的帮助你开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值