聚合与继承

用一条命令同时构件 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 标签中,聚合工程能够正常指向模块工程就行了

 

 

继承

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

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

 

posted @ 2016-09-26 20:29  csnmd  阅读(1624)  评论(0编辑  收藏  举报