maven进阶:一个多模块项目

maven多模块使用,父模块(使用<modules>,<packaging>为pom),子模块(使用<parent>)

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

<groupId>org.sonatype.mavenbook.ch06</groupId>
<artifactId>simple-parent</artifactId>
<packaging>pom</packaging>
<description>描述文字</description>
<version>0.0.1-SNAPSHOT</version>
<name>${project.artifactId}</name>

<modules>  
    <module>simple-weather</module>  
    <module>simple-webapp</module>  
</modules>

       其中,值得注意的是<packaging>pom</packaging>这个父项目仅仅是一个引用其它Maven 项目的POM,而modules下列出了项目的子模块。每个module元素对应了一个simple-parent目录下的子目录,Maven知道去哪些子目录寻找pom.xml 文件,并且,在构建的simp-parent 的时候,它会将这些子模块包含到要构建的项目中。不仅需要在父项目中配置如上配置,子项目也需要配置,以实现真正的关联。

<parent>  
    <groupId>org.sonatype.mavenbook.ch06</groupId>  
    <artifactId>simple-parent</artifactId>  
    <version>0.0.1-SNAPSHOT</version>  
</parent>

<artifactId>simple-parent-biz</artifactId>
<packaging>jar</packaging>
<description>描述</description>

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

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

    通过父pom.xml对各子模块进行打包后,我们也可以分别进入某个单独的模块进行运行!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值