06 Maven拆分聚合项目

Posted xianbeier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了06 Maven拆分聚合项目相关的知识,希望对你有一定的参考价值。

maven拆分、聚合

一、概念

maven拆分思想:把一个完整的项目,分成不同的独立模块,这些模块都有各自独立的坐标。

maven聚合思想:那个地方需要使用其中某个模块,就直接引用该模块的坐标即可。可以拆分零散的模块聚合到一起编写一个完整的项目

为什么要拆分、聚合?

因为把可重用的代码进行创建一个项目,而不是一个重复的代码分布在各处,导致后期更改其中的代码到处找很麻烦。

二、案例说明

2.1、创建父子工程项目

技术图片

2.2、将maven坐标放置到父项目的pom文件中

这个是主项目的pom文件

<?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.itcast</groupId>
    <artifactId>day39_maven_parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>day39_maven_dao</module>
        <module>day39_maven_service</module>
        <module>day39_maven_web</module>
    </modules>
    <!--坐标省略-->
</project>

2.3、分别将项目之间的坐标添加到各项目中

将dao副项目坐标添加到servlet副项目中

<dependencies>
    <dependency>
        <groupId>com.itcast</groupId>
        <artifactId>day39_maven_dao</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

将servlet副项目坐标添加到web副项目中

<dependencies>
    <dependency>
        <groupId>com.itcast</groupId>
        <artifactId>day39_maven_service</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

这样项目之间就可以形成依赖关联了

2.4、运行项目

2.4.1、第一种方式

直接点击主项目的maven文件,因为在项目中添加的tomcat7依赖,所以在这里启动项目是可以的

技术图片

2.4.2、第二种方式

通过开发工具配置的本地服务器启动项目,不过这里要选择web副项目

技术图片

2.4.3、第三种方式

使用主项目的打包,并在web副项目从主项目中依赖的tomcat来运行

技术图片

技术图片

如果不适用上述操作,则会出现加载不到其他项目中的配置文件出现报错。

以上是关于06 Maven拆分聚合项目的主要内容,如果未能解决你的问题,请参考以下文章

maven maven项目构建ssh工程(父工程与子模块的拆分与聚合)

maven项目的不同编写格式

转帖:maven maven项目构建ssh工程(父工程与子模块的拆分与聚合)

maven_进阶

1.SpringCloud -- 从单体架构到微服务架构代码拆分(maven 聚合)

maven聚合工程(深度剖析)