zoukankan      html  css  js  c++  java
  • Maven的聚合工程(多模块工程)

         在开发2个以上模块的时候,每个模块都是一个 Maven Project。比如搜索平台,学习平台,考试平台。开发的时候可以自己管自己独立编译,测试,运行。但如果想要将他们整合起来,我们就需要一个聚合工程。

    (1) 父模块的创建.

        父模块一般承担聚合模块和统一管理依赖的作用,没有实际代码和资源文件.

        父模块就是创建一个普通的 Maven Project , 此处省略.

    (2) 子模块的创建

        ① 子模块需要创建为 Maven Module 项目.

        ② 选择该子模块所属的父模块

        打包方式 : web 项目需要打 war 包,其他的比如 dao 层, service 层, entity 层都可以打 jar 包.

        

     实际的目录结构:子模块其实是包含在父模块文件夹里面的.

    (4) 父模块的 pom 文件.

         <modules>
               <module>PYG-pojo</module>
               <module>PYG-dao</module>
               <module>PYG-Commons</module>
               ...
         </modules>
    

    (5) 子模块的 pom 文件

    指明它的父模块是谁

         <modelVersion>4.0.0</modelVersion>
         <!-- 指定它的父模块是谁 -->
         <parent>
               <groupId>it.com.pyg</groupId>
               <artifactId>PYG-Parent</artifactId>
               <version>0.0.1-SNAPSHOT</version>
         </parent>
         <!-- 当前子模块的名字 -->
         <artifactId>PYG-dao</artifactId>

    (6) 聚合工程的依赖传递

    一般都是在父模块的 pom 中定义项目用到的依赖以及版本,
    然后在子模块的 pom 中, 需要什么依赖就直接引入, 不引入版本号, 依赖会自动从父模块中传递到子模块中.

           ① 父模块中定义依赖

         <!-- 统一定义版本号 -->
         <properties>
               <spring.version>4.3.7.RELEASE</spring.version>
         </properties>
         <!-- 父模块统一管理依赖 -->
         <dependencyManagement>
               <dependencies>
                    <dependency>
                         <groupId>org.springframework</groupId>
                         <artifactId>spring-core</artifactId>
                         <version>${spring.version}</version>
                    </dependency>
                    <dependency>
                         <groupId>org.mybatis</groupId>
                         <artifactId>mybatis</artifactId>
                         <version>${mybatis.version}</version>
                    </dependency>
               </dependencies>
         </dependencyManagement>

    ② 子模块中使用依赖

    子模块中使用的话, 不需要定义版本号.

    <dependencies>
               <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
               </dependency>
         </dependencies>
    

    (7) 聚合工程的安装.

    聚合工程不需要每个模块分别安装, 只要对父工程安装即可.

       ① 在 打包方式为 pom 的模块中, 添加插件.

    <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8080</port>
                <path>/</path>
            </configuration>
        </plugin>
    

       ② 在父模块上, 右键 -> Run As -> Maven install 

       ③ 执行结果 : 父工程和子模块都Build成功了

    (7) 多模块的 WEB 项目运行.

    在 打包方式为 pom 的模块上, 右键

    maven clean tomcat7:run

     

  • 相关阅读:
    Codeforces 959 E Mahmoud and Ehab and the xor-MST
    LightOj 1336 Sigma Function
    某考试 T1 sigfib
    [BOI2007] Sequence
    UOJ 41. 矩阵变换
    [BOI2007] Mokia
    SPOJ 26108 TRENDGCD
    bzoj3545: [ONTAK2010]Peaks
    bzoj3910: 火车
    bzoj1185: [HNOI2007]最小矩形覆盖
  • 原文地址:https://www.cnblogs.com/cainame/p/12372113.html
Copyright © 2011-2022 走看看