02- maven多个module开发

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhaoliangyan/article/details/88636984

  *  聚合

如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合
聚合配置代码
<modules>
     <module>模块A</module>
     <module>模块B</module>
     <module>模块C</module>
</modules>
其中module的路径为相对路径。

 * 继承

继承为了消除重复,我们把很多相同的配置提取出来,例如:grouptId,version等
1 继承配置代码
<parent>  
         <groupId>com.hx.maven</groupId>
         <artifactId>ParentProject</artifactId>
         <version>0.0.1-SNAPSHOT</version>
         <relativePath>../ParentProject/pom.xml</relativePath>  
</parent>
2 继承代码中定义属性
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <junit.version>4.9</junit.version>
    <maven.version>0.0.1-SNAPSHOT</maven.version>
</properties>
访问属性的方式为${junit.version}
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>
3 父模块用dependencyManagement进行管理
<dependencyManagement>
    <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>    
    <dependency>
            <groupId>cn.hx.maven</groupId>
            <artifactId>helloMaven</artifactId>
            <version>${maven.version}</version>
            <type>jar</type>
            <scope>compile</scope>
       </dependency>
     </dependencies>
</dependencyManagement>
 这样的好处是子模块可以有选择的继承,而不需要全部继承

* 聚合和继承总结

聚合主要为了快速构建项目,继承主要为了消除重复

* MVC模式和Web三层模式结合

在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,把每一个层次定义一个模块,这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易,今天我们就是使用Maven来构建以上的各个层。
项目结构如下:
  shopping
        |----pom.xml
        |----hx-domain(model,bean)
                |----pom.xml
        |----hx-dao
                |----pom.xml
        |----hx-service
                |----pom.xml
        |----hx-web
                |----pom.xml

* 创建shopping项目

将工程的src和其他的目录全部删除,只剩下pom.xml,修改pom.xml的<packageing> 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.hx.shopping</groupId>
    <artifactId>shopping</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>shopping</name>
    <packaging>pom</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>

* 创建module

  * web层

   * 模块使用maven-archetype-webapp

 

 * service

   模块使用maven-archetype-quickstart

 * dao

  模块使用maven-archetype-quickstart
  创建过程和service层一样

  * domain

  模块使用maven-archetype-quickstart
  创建过程和service层一样

* 编写登陆的例子

  * 功能模块来分module

   电商系统中如下module
      shopping
        |----pom.xml
           |----shopping-common  公共部分
                |----pom.xml
        |----shopping-picture 图片
                |----pom.xml
        |----shopping-order订单
                |----pom.xml
        |----shopping-cart购物车
                |----pom.xml
        |----shopping-pay支付
                |----pom.xml
           |----shopping-product商品
                |----pom.xml
           |----shopping-price价格
                |----pom.xml  

猜你喜欢

转载自blog.csdn.net/linzhaoliangyan/article/details/88636984
02-
今日推荐