(一)maven管理之依赖

(一)maven管理之依赖

1.仓库地址

    maven仓库网址:http://search.maven.org

2.maven依赖的9大属性    

    groupId,artfactId,version,type,classifier,scope,systemPath,exclusions,optional

3.属性解析

groupId

     项目包在全球的唯一标识

artfactId

    项目包构建的唯一标识

version

     指定所依赖包的版本号

type

     指定依赖包的类型,一般包括jar,war,pom。

classifier

     指定依赖包的构件类型

scope

    指定依赖包的使用范围,有6种类型;

    compile 编译依赖范围,默认使用该范围,对于编译、测试、运行三宗classpath都有效。
    test 测试依赖范围,只对测试classpath有效
    provided 已体提供依赖范围。对于编译和测试classpath有效,运行时无效
    runtime 运行时依赖范围。对于测试和运行的claspath有效,编译无效
    system 系统依赖范围。和provided依赖范围完全一致。使用system范围的依赖,不许通过systemPath元素显示地制定依赖文件的路径。
    import 导入依赖范围。不会对三种classpath产生实际的影响。

 

systemPath

       是配合<scope>为system使用的,指定非maven仓库导入的jar包;并且路径不能是相对路径,所以需要加上${basedir},

${basedir}这个是pom的内置属性。

<dependency>
            <groupId>Msc</groupId>
            <artifactId>Msc</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/Msc.jar</systemPath>
  </dependency>

exclusions

      依赖排除,就是有时候引入某一个依赖的时候,该依赖下有jar包冲突,可以排除掉,不引用该jar

<dependency>
            <groupId>test</groupId>
            <artifactId>test</artifactId>
            <version>1.0.2-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
 </dependency>

optional

      决定是否继承当前依赖包的依赖项。比如A依赖B,B依赖C;在A中配置如下即表示A只依赖B,而不依赖C。optional默认是false。

<dependency>
            <groupId>B</groupId>
            <artifactId>B</artifactId>
            <version>1.0.2-SNAPSHOT</version>
            <optional>true</optional>
 </dependency>

猜你喜欢

转载自blog.csdn.net/lawliet1217/article/details/79817774