maven模块化管理

将一个大项目拆分成若干个子模块,方便项目管理维护、扩展,也方便模块间的相互引用,资源共享

具体步骤

先创建一个空项目(父项目)即下图的sky-take-out,然后打开项目结构的模块,选中父模块,再点+,

如果是导入模块,则导入对应模块的pom.xml文件

我们来看一下父工程的pom文件

  • parent表示父工程
  • 第11-14行本项目的坐标
  • modules表示本项目的子模块
  • properties管理依赖的版本
xml 复制代码
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>${mybatis.spring}</version>
</dependency>

子模块可以引用同一父工程的其他子模块,这些被引用的子模块一般是可复用的公共模块,比如这里的pojo封装实体类对象,common封装各种工具类对象

dependencies和dependencyManagement

父工程使用 dependencies直接声明依赖,子工程会自动继承父工程的依赖,无需重复声明。子工程的 pom.xml 不需要再写这个依赖。

xml 复制代码
<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
  </dependency>
</dependencies>

父工程使用 dependencyManagement管理依赖,子工程不会自动继承这些依赖!必须显式声明需要的依赖,但可以省略version和 scope

父工程

xml 复制代码
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

子工程·

xml 复制代码
<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
  </dependency>
</dependencies>
相关推荐
爱笑的眼睛117 分钟前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai
全靠bug跑31 分钟前
Spring Cloud OpenFeign 实战三部曲:快速集成 · 连接池优化 · 客户端抽取
java·spring boot·openfeign
Evan芙1 小时前
搭建nexus服务,实现本地仓库、代理仓库
java·nginx·tomcat
乂爻yiyao1 小时前
Java LTS版本重要升级特性对照表
java·开发语言
原来是好奇心1 小时前
深入Spring Boot源码(六):Actuator端点与监控机制深度解析
java·开发语言·源码·springboot
叠叠乐1 小时前
robot_state_publisher 参数
java·前端·算法
过期动态2 小时前
JDBC高级篇:优化、封装与事务全流程指南
android·java·开发语言·数据库·python·mysql
WizLC2 小时前
【Java】各种IO流知识详解
java·开发语言·后端·spring·intellij idea
Mr.朱鹏2 小时前
SQL深度分页问题案例实战
java·数据库·spring boot·sql·spring·spring cloud·kafka
小张快跑。2 小时前
【Java企业级开发】(十一)企业级Web应用程序Servlet框架的使用(上)
java·前端·servlet