maven理解继承和聚合

maven理解继承和聚合

  • 基本概念
    • 继承
    • 聚合
  • 案例
    • maven-parent 父模块
    • maven-dao 子模块
  • 运行调试
    • 方法1: 在maven-web工程的pom.xml中配置tomcat插件运行
    • 方法2: 在父工程的pom.xml中配置tomcat插件运行, 自动聚合并执行
    • 注意: 如果子工程和父工程中都配置了tomcat插件,运行的端口和路径以子工程为准。

基本概念

继承

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

聚合

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

案例

maven-parent 父模块

  1. 选择maven 模块
    maven理解继承和聚合_第1张图片

  2. 定义坐标
    maven理解继承和聚合_第2张图片

  3. 修改父工程的pom.xml, 添加子工程
    maven理解继承和聚合_第3张图片

maven-dao 子模块

  1. 选择maven 模块
    maven理解继承和聚合_第4张图片
  2. 选择父工程
    maven理解继承和聚合_第5张图片
  3. dao 模块的pom.xml 文件中可以看到继承父模块的信息
    maven理解继承和聚合_第6张图片

运行调试

方法1: 在maven-web工程的pom.xml中配置tomcat插件运行

运行maven-web工程它会从本地仓库下载依赖的jar包, 所以当maven-web依赖的jar包内容修改了必须及时发布到本地仓库, 比如: maven-web依赖的maven-service修改了, 需要及时将maven-service发布到本地仓库。

方法2: 在父工程的pom.xml中配置tomcat插件运行, 自动聚合并执行

推荐方法2, 如果子工程都在本地,采用方法2则不需要子工程修改就立即发布到本地仓库,父工程会自动聚合并使用最新代码执行。

注意: 如果子工程和父工程中都配置了tomcat插件,运行的端口和路径以子工程为准。

你可能感兴趣的:(maven,maven,继承,聚合,运行调试)