`
xinklabi
  • 浏览: 1591202 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

maven多模块使用,父模块(modules使用,package为pom),子模块(parent使用)

 
阅读更多

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

一个多模块项目通过一个父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的下一级文件中!

分享到:
评论

相关推荐

    maven多模块打包pom文件

    1. **多模块配置**:在父POM文件中,需要通过`&lt;modules&gt;`标签声明所有的子模块。例如: ```xml &lt;modules&gt; &lt;module&gt;module1 &lt;module&gt;module2 &lt;module&gt;module3 &lt;/modules&gt; ``` 这里的`module1`, `module2`, `module...

    maven多模块项目工程-已搭建好

    1. **Maven多模块项目结构**:一个典型的Maven多模块项目通常包括一个父模块(parent)和多个子模块(sub-modules)。父模块的`pom.xml`文件不包含任何代码,只负责设定共用的属性、版本号、依赖管理和构建插件。子...

    maven构建多模块项目

    在Maven的`pom.xml`文件中,父项目通过`&lt;modules&gt;`标签来声明其包含的子模块。例如: ```xml ... &lt;groupId&gt;com.example&lt;/groupId&gt; &lt;artifactId&gt;simple-parent &lt;version&gt;1.0.0-SNAPSHOT &lt;packaging&gt;pom...

    Maven多模块web应用实例

    在`pom.xml`中,我们需要声明`&lt;packaging&gt;`为`pom`类型,并添加子模块的`&lt;modules&gt;`元素。 2. **创建子模块(Module Projects)**:每个子模块都有自己的`pom.xml`,它们继承自父项目的依赖和配置。根据我们的实例,...

    用Eclipse创建Maven多模块项目

    4. **创建子模块**:回到Eclipse的"Package Explorer"视图,右键点击父项目,选择"Maven" &gt; "New" &gt; "Module"。同样输入Group ID和Artifact ID(子模块名称),例如:module1和module2,保持Version与父项目一致。...

    使用maven管理多模块项目并启动调试-实例代码

    -- 添加更多子模块 --&gt; &lt;/modules&gt; ... ``` 接着,为每个子模块创建单独的`pom.xml`文件,它们继承自父项目。在子模块的`pom.xml`中,只需要声明父项目的坐标即可: ```xml ... &lt;parent&gt; &lt;groupId&gt;...

    Maven构建多模块项目

    在Maven中,一个项目可以被分解为多个子项目,这些子项目共享相同的父 pom.xml 文件,这就是所谓的多模块项目。在`demo-parent`案例中,"parent"通常表示顶层的父模块,它定义了所有子模块共有的配置,如版本号、...

    maven搭建模块工程

    在pom.xml中,设置`&lt;packaging&gt;`为`pom`,并添加子模块的`&lt;modules&gt;`标签,例如: ```xml ... &lt;packaging&gt;pom &lt;modules&gt; &lt;module&gt;module1 &lt;module&gt;module2 &lt;/modules&gt; ... ``` 2. **创建子模块**:在...

    Maven的简单使用以及Maven搭建SSH

    3. **聚合构建**:在顶级父POM中,使用`&lt;modules&gt;`标签指定所有子模块,执行`mvn install`会依次构建所有子模块。 4. **版本控制**:通过Maven的版本管理,确保不同模块间的一致性,避免版本冲突。 通过以上内容,...

    使用Maven管理进行多模块开发案例

    &lt;/modules&gt; packaging节点只能指定为pom,modules节点说明由几个模块组合,上面是把我们经常使用的架构分层模式分成一个个组件进行开发dao-&gt;service-&gt;web层。此pom文档经常还被用来进行一些依赖管理和插件管理,...

    maven教程,分模块构建及私服搭建

    一个顶级父项目(parent POM)定义共用的配置,如版本号、编码规范等,然后包含多个子模块(sub-modules),每个子模块都有自己的独立POM.xml文件,继承自父POM。 2. **模块依赖**:通过在子模块的POM文件中声明对...

    maven创建父子结构工程

    在大型项目中,通常会将项目划分为多个子模块,每个子模块负责不同的功能,而这些子模块又共同隶属于一个父模块。父模块主要负责定义共享的配置,如版本管理、依赖管理和插件集,这样可以避免在每个子模块中重复配置...

    maven学习视频源码与笔记_第二部分

    在Maven中,大型项目往往被分解为多个模块(Modules),每个模块负责特定的功能。例如,"user-log"可能是日志处理模块,"user-service"代表业务服务层,"user-core"可能是核心业务逻辑,而"user-dao"则用于数据库...

    java方面的maven资料

    在`user-parent`中,很可能是整个项目的父模块,它通过`&lt;modules&gt;`标签管理子模块。父模块可以统一管理版本号、依赖、插件配置,简化子模块的配置。 5. **依赖管理和传递性**: Maven通过中央仓库管理依赖关系,...

    maven项目构建入门书籍

    - 大型项目往往由多个子模块组成,Maven可以通过设置模块(modules)来管理这些子项目。 ### Maven的 profiles - profiles允许根据不同的环境(如开发、测试、生产)定义不同的配置。 - 可以通过命令行参数`-P`...

    Maven创建Java工程

    本文将基于提供的文件信息,深入探讨如何使用Maven创建和管理包含多个子模块的Java工程项目。 #### Maven创建Java工程概述 在给定的描述中,提及了一个名为`mydemo`的web项目,该项目被细分为两个模块:`mydemo-...

    Maven3.5.4本地安装包

    - **聚合与继承**:Maven支持项目聚合和继承,通过`&lt;modules&gt;`标签可以将多个子项目聚合为一个父项目,而`&lt;parent&gt;`标签允许子项目继承父项目的配置。 总结,Maven 3.5.4作为一款强大的构建工具,提供了标准化的...

    《Maven实战》源代码

    - parent POM与子模块的继承关系 6. **ch-12**: 自定义构建过程 - 插件管理和插件配置 - 使用`&lt;build&gt;&lt;plugins&gt;`和`&lt;pluginManagement&gt;`元素 - Maven执行目标(Goals)和生命周期阶段的关系 - 自定义生命周期...

    常用pom.xml文件.zip

    5. **模块管理**:对于多模块的Maven工程,pom.xml还可以定义子模块,通过`&lt;modules&gt;`标签列出所有子模块的artifactId,实现模块间的依赖关系。 在实际开发中,pom.xml文件可以继承和聚合其他pom.xml,实现依赖的...

Global site tag (gtag.js) - Google Analytics