美文网首页
maven 学习1

maven 学习1

作者: ksvsds | 来源:发表于2019-07-24 02:00 被阅读0次

    什么是maven

    在之前是使用下载jar包的形式,不方便管理jar包,而且容易冲突,需要定义相同的东西。

    引入maven不做重复的东西。

    maven 读音 [ˈmeɪvn]

    优势

    1. convention over configuration 约定优于配置
      • 超级pom的path \lib\maven-model-builder-3.5.0.jar\org\apache\maven\model\ pom.xml 约定了项目pom的位置
    2. 使用简单
    3. 测试支持
    4. 构建简单
    5. CI
    6. 插件丰富

    使用

    配置

    1. Windows path

    2. Linux .bash_profile

    3. MAVEN_OPTS 可以配置系统变量

    maven在使用时会

    1. 先找~ /.m2/setting.ml

    2. 在找conf/setting.ml

    3. 配置setting.xml 常用的仓库

    <mirror>
        <id>alimaven</id>  
        <name>aliyun maven</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>ui</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://uk.maven.org/maven2/</url>
    </mirror>
    <mirror>
        <id>osc_thirdparty</id>
        <mirrorOf>thirdparty</mirrorOf>
        <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
    </mirror>
    
    
    1. pom.xml配置

      • groupId com.gupaoedu
      • artfactId 功能命名
      • version 版本号
      • packaging 打包方式 默认是jar
      • dependencyManagement
        1.只能出现在父类pom
        2.统一版本号
        3.声明式
      • Dependency
        1. Type 默认jar
        2. scope 意义:了解打包的过程,优化pom
        • comoile 编译 默认会打到包里面 例如 spring-core
        • test 测试 不会打到包里面
        • provided 编译 不会打到包里面 例如servlet
        • runtime 运行时有效 会到到包里 例如JDBC驱动实现
        • system 本地一些jar包
        • 传递依赖
          | | compile | test | provided |runtime|
          |:--:|:--:|:--:|:--:|:--:|
          | compile | compile | - | - |runtime|
          | test |test | - | - |test|
          | provided |provided |- | - |provided|
          |runtime |runtime | - | - |runtime|
        1. 依赖仲裁
        • 最短路径原则
        • 加载先后原则
        1. exclusions
        • 排除包
    2. 生命周期 lifecycle/phase/goal

      • A Build Lifecycle is Made Up of Phases
      • 构建生命周期由阶段组成
      • A Build Phase is Made Up of Plugin Goals
      • 构建阶段由插件目标组成

    相关文章

      网友评论

          本文标题:maven 学习1

          本文链接:https://www.haomeiwen.com/subject/yettrctx.html