代码改变世界

maven的依赖范围

2017-10-19 15:54  faunjoe88  阅读(306)  评论(0编辑  收藏  举报

Maven因为执行一系列编译、测试和部署运行等操作,在不同的操作下使用的classpath不同,

依赖范围就是用来控制依赖与三种 classpath(编译classpath、测试classpath、运行classpath)的关系。

<!-- 测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <!-- 依赖作用范围 -->
            <!-- 依赖范围就是控制与(编译,测试,运行)时的classpath的关系 -->
            <!--
                其范围包括:
                    1.compile:编译依赖范围(默认),对其三种都有效
                    2.test:测试依赖范围,只对测试classpath有效
                    3.runtime:运行依赖范围,只对测试和运行有效,编译主代码无效,例如JDBC
                    4.provided:已提供依赖范围,只对编译和测试有效,运行时无效,例如selvet-api 容器已经包含
                    5.system:系统依赖范围.谨慎使用.例如本地的,maven仓库之外的类库文件
                    6.import(maven2.0.9以上):导入依赖范围,不会对其他三种有影响
             -->
            <scope>test</scope>
        </dependency>