zoukankan      html  css  js  c++  java
  • maven相关

    一.父pom标签说明

    构建管理声明:<packaging>pom</packaging>

    管理的工程列表:<modules>

    声明此处进行依赖管理:<dependencyManagement>

    属性定义用于版本管理等:<properties>

        <packaging>pom</packaging>
        <modules>
            <module>../maven-test</module>
        </modules>
        <properties>
            <fastjson>1.2.75</fastjson>
        </properties>
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>fastjson</artifactId>
                    <version>${fastjson}</version>
                </dependency>
                <dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>1.18.16</version>
                    <scope>compile</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

     二.依赖管理

     1、版本管理:

    • SNAPSHOT(快照版本):测试阶段的版本
    • RELWASE(发布版本):正式稳定的版本

    2、依赖管理:

    1.可选依赖:<optional></optional>:当别人饮用了你的该依赖时,<optional>true</optional>时该条依赖对外不透明

    2.排除依赖:主动断开依赖的资源,被排除的资源无需指定版本。比如project-1依赖了project-2,projec-1中的fastjson和project-2中的fastjson存在冲突,则可在project-1的pom中声明(项目上测试过,排除后如果project-2依赖了该jar包,可能导致某些异常):

            <dependency>
                <groupId>org.example</groupId>
                <artifactId>project-2</artifactId>
                <version>1.0-SNAPSHOT</version>
                <exclusions>
                    <exclusion>
                        <groupId>fastjson</groupId>
                        <artifactId>fastjson</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>

     3.依赖传递:project-1依赖了projet-2(project-2依赖了project-3),project-1就拥有了project-2下的依赖.project-1和project-2就是直接依赖,project-1和project-3就是间接依赖

     4.依赖传递的优先级

      1、路径优先:层级越深,优先级越低

      2、声明优先:当依赖在相同层级时,配置顺序靠前的覆盖配置顺序靠后的

      3、特殊优先:例如引依赖时写了两次,那么后写的覆盖先写的

     5.依赖范围:

      依赖的jar默认情况可以在任何地方使用,开源通过<scope>标签配置该依赖的作用范围(可使用的范围)

    scope main test package
    compile(默认) Y Y Y
    test   Y  
    provided      
    runtime     Y

     6.本地仓库访问私服settings.xml配置

    <servers>
      <server>
        <id></id>    id是自定义名称
        <username></username> 用户名
        <password></password>  密码
     </server>
    </servers> 
    <mirrors>
       <mirror>
        <id></id>私服名称
        <mirrorOf>*</mirrorOf> 使用的都从这拿
        <url></url> 私服的url
       </mirror>
    </mirrors>    
  • 相关阅读:
    [轉]Array of pointer VS. Pointer to Array
    VirtualBox 4.2.4 Network setting
    [轉]Interview
    REMOVE “EVAL(BASE64_DECODE” USING LINUX COMMANDS FROM ALL PHP FILES ACROSS MULTIPLE WORDPRESS
    Virtualbox 掛載共用資料夾,解決掛不起來的問題。
    Web shell in php
    端口轉發映射,突破內網
    String 處理 in Java
    [轉]java学习笔记 【二】 常见错误 Class files on classpath not found or not accessible for
    如何讀取float型態資料在記憶體中的值
  • 原文地址:https://www.cnblogs.com/omgliyq/p/15110837.html
Copyright © 2011-2022 走看看