首页 > 代码库 > 聚合与继承

聚合与继承

用一条命令同时构件 A、B两个项目

这个时候需要将 A、B 聚合成一个 C 工程

C 工程是一个聚合项目,也是一个 Maven 项目,有自己的 POM。如下

<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>    <parent>        <groupId>com.taotao</groupId>        <artifactId>taotao-parent</artifactId>        <version>0.0.1-SNAPSHOT</version>    </parent>    <groupId>com.taotao</groupId>    <artifactId>taotao-manager</artifactId>    <version>0.0.1-SNAPSHOT</version>    <packaging>pom</packaging>    <!-- 依赖管理 -->    <dependencies>        <dependency>            <groupId>com.taotao</groupId>            <artifactId>taotao-common</artifactId>            <version>0.0.1-SNAPSHOT</version>        </dependency>    </dependencies>    <modules>        <module>taotao-manager-pojo</module>        <module>taotao-manager-mapper</module>        <module>taotao-manager-service</module>        <module>taotao-manager-web</module>    </modules>    <build>        <!-- 配置插件 -->        <plugins>            <plugin>                <groupId>org.apache.tomcat.maven</groupId>                <artifactId>tomcat7-maven-plugin</artifactId>                <configuration>                    <port>8080</port>                    <path>/</path>                    <!--<url>http://192.168.25.135:8080/manager/text</url>-->                    <!--<username>tomcat</username>-->                    <!--<password>tomcat</password>-->                </configuration>            </plugin>        </plugins>    </build></project>

模块化的 A、B 工程和普通工程没啥区别

<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>    <parent>        <groupId>com.taotao</groupId>        <artifactId>taotao-manager</artifactId>        <version>0.0.1-SNAPSHOT</version>    </parent>    <artifactId>taotao-manager-web</artifactId>    <packaging>war</packaging>    <!-- 依赖管理 -->    <dependencies>        <dependency>            <groupId>com.taotao</groupId>            <artifactId>taotao-manager-service</artifactId>            <version>0.0.1-SNAPSHOT</version>        </dependency>        <!-- JSP相关 -->        <dependency>            <groupId>jstl</groupId>            <artifactId>jstl</artifactId>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>servlet-api</artifactId>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>jsp-api</artifactId>            <scope>provided</scope>        </dependency>        <!-- 文件上传组件 -->        <dependency>            <groupId>commons-fileupload</groupId>            <artifactId>commons-fileupload</artifactId>        </dependency>    </dependencies></project>

只需要添加一个  parent  即可

 

聚合工程仅仅是帮助聚合其他模块构建的工具,本身并无实质内容。

聚合模块和其他模块的目录结构不一定非要是父子关系,平行结构也行,只要在 module 标签中,聚合工程能够正常指向模块工程就行了

 

 

继承

  聚合解决了多模块构建的问题,继承则是为了解决重复配置的问题

  对于一些各个模块都要用到的依赖,可以配置在父工程,然后被继承即可

 

聚合与继承