zoukankan      html  css  js  c++  java
  • Maven笔记

    MAVEN

    项目构建工具

    为什么使用

    • 简化项目构建,不用再手动寻找jar包,配置jar包
    • 解决项目中的依赖冲突问题

    依赖冲突?

    产生原因

    1. 项目中的依赖A和依赖B同时引入了依赖C
    2. 依赖C在A和B中的版本不一致就可能产生依赖冲突
    3. maven如果选择高版本C(1.1)来导入(这个选择 maven会根据不等路径短路径原则和同等路径第一声明原则选取),C(1.)中的类c在C(1.1)中被修改而不存在了。
    4. 在编译期可能并不会报错,因为编译的目的只是把业务源代码编译成class文件,所以如果项目源代码中没有引入共有依赖C因升级而缺失的类c,就不会岀现编译失败。除非源代码就引入了共有依赖C,因升级而缺失的类C则会直接编译失败。
    5. 在运行期,很有可能出现依赖A在执行过程中调用C(1.8)以前有但是升级到c(1.1)就缺失的类C,导致运行期失败,出现很典型的依赖冲突时的NoClassDefFoundError错误。
    6. 如果是升级后出现原有的方法被修改而不存在的情况时,就会抛岀NoSuchMethdError错误。
    解决方式
    1. 找到可能冲突的依赖(maven helper)
    2. 调整依赖致使版本统一
    3. 使用exclusion标签排除依赖

    安装配置

    • settings配置本地仓库和远程仓库
    • 配置环境变量
    • idea中配置maven
  • 相关阅读:
    洛谷 P1767 家族_NOI导刊2010普及(10)
    洛谷 P2919 [USACO08NOV]守护农场Guarding the Farm
    COGS 1619. [HEOI2012]采花
    UVA 11181 Probability|Given
    hdu 3336 Count the string
    洛谷 P2176 [USACO14FEB]路障Roadblock
    洛谷 P2691 逃离
    BZOJ 1040: [ZJOI2008]骑士
    vijos 1320 清点人数
    POJ 3417 Network
  • 原文地址:https://www.cnblogs.com/yks43/p/14393084.html
Copyright © 2011-2022 走看看