栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven高级

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven高级

目录

maven依赖传递

问题一:依赖冲突

方法一:使用maven提供的依赖调解原则

方法二:排除依赖

 方法三:版本锁定

分模块构建maven工程


Maven的原理

主要负责依赖管理和项目构建

  • 依赖管理:对项目jar包的管理
  • 项目构建:通过命令可以完成项目清理、编译、测试、报告、打包、部队的整个过程。

mave的仓库类型

  • 本地仓库
  • 远程仓库
    • maven中央仓库
    • maven私服
    • 其它公共远程仓库

maven常用命令

  • clean:清理
  • compile:编译
  • test:测试
  • package:打包
  • install:安装

maven依赖传递

问题一:依赖冲突

方法一:使用maven提供的依赖调解原则

第一声明者优先原则,路径近者优先原则

第一声明者优先原则:定义在前面的有效,定义在后面的就会被忽略

路径近者优先原则:以路径近者为准(路径:依赖的传递路径)

方法二:排除依赖
    
      org.springframework
      spring-webmvc
      5.0.5.RELEASE
      

        
          org.springframework
          spring-beans
        
      
    

    
      org.springframework
      spring-aop
      4.2.8.RELEASE
    

结果:beans的版本和aop一致

 方法三:版本锁定

采用直接锁定版本的方法确定依赖jar包的版本

步骤

  • 在dependecyManagement标签中锁定依赖的版本(注意 这个步骤仅仅是锁定,并未导入jar包)
  • 在dependencies标签中声明需要导入的maven坐标
 
    
      
        org.mybatis
        mybatis
        3.4.5
      
     
  

 
    
      org.mybatis
      mybatis
    
  

分模块构建maven工程

一个项目,maven工程可以将其分解成若干个模块

 

 父工程与子工程的关系是继承关系,子工程自动继承父工程的资源

 子工程与子工程的关系是依赖,需要手动添加依赖子工程的资源

步骤:

父工程的打包方式:pom

    org.example
    maven_ssm
    pom
    1.0-SNAPSHOT

子工程继承父工程:自动生成

web层继承父工程

    
        maven_ssm
        org.example
        1.0-SNAPSHOT
    
    4.0.0

在子工程里添加依赖

web层依赖service层

    
        
            org.example
            maven_service
            1.0-SNAPSHOT
        
    

父工程:maven的聚合

   
        maven_dao
        maven_service
        maven_web
    

目录结构

 

 web层的applicationContext.xml 引入两个配置文件



    
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602953.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号