文档章节

maven进阶:一个多模块项目

铂金蛋蛋
 铂金蛋蛋
发布于 2014/06/04 15:56
字数 506
阅读 319
收藏 3

一个多模块项目通过一个父POM 引用一个或多个子模块来定义。父项目,通过以下配置,将子项目关联。

[xhtml] view plaincopy

  1. <packaging>pom</packaging>  

  2. <modules>  

  3.           <module>simple-weather</module>  

  4.           <module>simple-webapp</module>  

  5. </modules>  

     其中值得注意的是<packaging>pom</packaging>这个父项目不像之前的项目那样创建一个JAR 或者一个WAR,它仅仅是一个引用其它Maven 项目的POM。pom.xml 中下一部分列出了项目的子模块。这些模块在modules元素中定义,每个modules 元素对应了一个simple-parent/目录下的子目录。Maven知道去这些子目录寻找pom.xml 文件,并且,在构建的simp-parent 的时候,它会将这些子模块包含到要构建的项目中。

     当然,仅仅在父项目,配置子项目是不能够真正实现关联的,因为,这毕竟需要子项目的同意,故!子项目中需要配置:

[xhtml] view plaincopy

  1. <parent>  

  2.         <groupId>org.sonatype.mavenbook.ch06</groupId>  

  3.         <artifactId>simple-parent</artifactId>  

  4.         <version>1.0</version>  

  5. </parent>  

     现在,通过父pom.xml将2个子项目进行了关联,那么我们需要从simple-parent 项目运行mvn clean install 命令,将2个子项目打包,编译为一个项目!

     当Maven 执行一个带有子模块的项目的时候,Maven 首先载入父POM,然后定位所有的子模块POM。Maven 然后将所有这些项目的POM 放入到一个称为Maven 反应堆(Reactor)的东西中,由它负责分析模块之间的依赖关系。这个反应堆处理组件的排序,以确保相互独立的模块能以适当的顺序被编译和安装。

     当,通过父pom.xml进行完成多个子项目的关联后,我们可以像前几章一样,分别进入某个单独的模块,进行运行,以移动程序!

 

 注意:子项目的文件,位于父项目pom.xml同级,也就是,子项目的pom.xml位于父pom.xml的下一级文件中!


本文转载自:http://blog.csdn.net/eclipser1987/article/details/5739177

共有 人打赏支持
铂金蛋蛋

铂金蛋蛋

粉丝 27
博文 65
码字总数 13034
作品 0
杭州
架构师
在Eclipse中创建Maven多模块工程

如果,你需要创建多个项目,项目之间即独立又有关系,那么创建一个Maven多模块项目是个非常好的选择,也非常cool!怎么在Eclipse里面创建多模块工程,以及需要注意哪些地方,我在这里做个简单...

孟飞阳
2016/07/29
32
0
从svn上检出威尼斯人网站开发多模块maven项目

一、SVN上Maven多威尼斯人网站开发模块项目结构 haozbbs.com Q1446595067 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二、eclipse通过SVN导入到工作空间 工作空间位...

xmvn
07/09
0
0
在Eclipse中创建Maven多模块工程的例子

如果,你需要创建多个项目,项目之间即独立又有关系,那么创建一个Maven多模块项目是个非常好的选择,也非常cool!怎么在Eclipse里面创建多模块工程,以及需要注意哪些地方,我在这里做个简单...

凯文加内特
2015/05/07
0
1
maven安装与创建多模块项目

maven是一个比较流行的项目管理工具,在最近参与的项目中,也使用了maven,本文主要对在项目中的使用做一个总结,主要涉及maven的安装于配置、maven创建多模块项目。 1、maven安装与配置 ma...

wangyan9110
2014/04/01
0
0
创建支持eclipse的多模块maven项目

---title: "[创建支持eclipse的多模块maven项目]" date: 2013-07-19 17:46 创建支持eclipse的多模块maven项目 通过maven可以创建多个关联模块的项目(Multiple Module Projects)。由一个总的...

rkikbs
2013/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ppwjs之bootstrap文字排版:字体大小写设置

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
24分钟前
1
0
线性代数入门

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

牛奋Debug
39分钟前
1
0
开发5分钟,调试2小时 - 该如何debug?

几年来我在答疑群、论坛、公众号、知乎回答的各种问题,没有一万也有八千。其中有三分之二以上都是在帮人看报错,帮人 debug(调试代码)。 可以说,会不会 debug,有没有 debug 的意识,懂不...

crossin
39分钟前
1
1
SQL count(*) 和count(1)的区别

开发中经常会使用这两个聚合函数,作用都是用来统计记录行,今天查找资料发现,其实这两个函数并没有区别, 实践才是检验的标准,首先看执行计划(表是我自己建立的): 可以看到,两个执行计...

一曲图森破
44分钟前
1
0
区块链100讲:详解区块链之P2P网络

1 P2P网络 如果我们简单来看 P2P 技术,它的应用领域已经非常广泛了,从流媒体到点对点通讯、从文件共享到协同处理,多种领域都有它的身影出现。 同样的,P2P 的网络协议也有很多,比较常见的...

HiBlock
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部