17Maven - 分模块构建工程

简介: 17Maven - 分模块构建工程

通过一个小案例来了解 分模块构建工程

ssh工程拆分为多个模块开发:dao 、service 、web

什么是继承与聚合?

继承

继承是为了消除重复,如果将dao、service、web分开创建独立的工程,则每个工程的pom.xml文件中的内容存在重复,比如:设置编译版本、锁定spring的版本等,可以将这些重复的配置提取出来在父工程的pom.xml中定义。

聚合

项目开发通常是分组模块开发,每个模块开发完成要运行整个工程,需要将每个模块聚合在一起运行,比如:dao、service、web三个工程最终会打一个独立的war运行。

案例实现

1)maven-parent 父模块
创建父工程

定义坐标:

定义pom.xml

将父工程发布至仓库:

父工程创建完成执行maven-install 将父工程发布到仓库,方便子工程继承。

2)maven-dao 子模块
创建dao子模块

定义pom.xml

也可以看到把所有的依赖也继承了,如下图:

2)maven-service 子模块
创建service子模块

方法同maven-dao模板创建方法,模块名称为maven-service.

定义pom.xml

service模块的pom.xml文件需要继承父模块,service依赖dao模块:

3)maven-web 子模块
创建web子模块

方法同maven-dao模块创建方法

注意:打包方式(packaging)应该选择war

定义pom.xml

web模块的pom.xml文件中需要继承父模块,web依赖service模块:

4)聚合模块(关键)

修改父工程pom.xml,添加:

注意:上边的module中配置的路径,此路径是相对于父工程的pom.xml文件找到子工程的pom.xml文件路径。

目录
相关文章
|
26天前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`中创建Maven Java项目,使用命令`mvn archetype:generate`生成基础结构。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`,版本至少为3.3和2.7,以避免`NoClassDefFoundError`。运行`mvn site`生成文档。
|
1月前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
47 4
|
18天前
|
Java Maven
Maven如何创建Maven web项目
Maven如何创建Maven web项目
|
21天前
|
Java Apache Maven
Maven 项目文档
使用Maven创建`consumerBanking`项目,执行`mvn archetype:generate`命令初始化。确保`pom.xml`包含`maven-site-plugin`至少版本3.3和`maven-project-info-reports-plugin`至少版本2.7,以避免NoClassDefFoundError。升级插件解决文档构建问题。
|
26天前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`,使用`mvn archetype:generate`命令创建Java项目后,确保更新`pom.xml`,添加`maven-site-plugin`和`maven-project-info-reports-plugin`,至少版本3.3和2.7。运行`mvn site`时遇到`NoClassDefFoundError`,需升级`maven-site-plugin`至3.3以上以解决。
|
21天前
|
存储 安全 Java
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
34 4
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
|
3天前
|
Java Apache Maven
Maven 项目文档
确保 `pom.xml` 包含 `maven-site-plugin` 和 `maven-project-info-reports-plugin`,至少版本为 3.3 和 2.7,以避免 `NoClassDefFoundError`。升级插件解决可能的版本问题。
|
12天前
|
Java Maven Spring
如何使用Maven构建SpringBoot项目
如何使用Maven构建SpringBoot项目
|
12天前
|
Java Maven
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
|
12天前
|
IDE Java Apache
如何使用Maven管理Java项目依赖
如何使用Maven管理Java项目依赖