zoukankan      html  css  js  c++  java
  • Maven依赖scope范围详解

    Maven的生命周期存在编译、测试、运行这些过程,那么显然有些依赖只用于测试,比如junit;有些依赖编译用不到,只有运行的时候才能用到,比如mysql的驱动包在编译期就用不到(编译期用的是JDBC接口),而是在运行时用到的;还有些依赖,编译期要用到,而运行期不需要提供,因为有些容器已经提供了,比如servlet-api在tomcat中已经提供了,我们只需要的是编译期提供而已。总结说来,在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。大致有compile、provided、runtime、test、system等几个。

    compile :默认的scope,运行期有效,需要打入包中
    provided:编译期有效,运行期不需要提供,不会打入包中
    runtime :编译不需要,在运行期有效,需要导入包中。(接口与实现分离)
    test        :测试需要,不会打入包中
    system   :非本地仓库引入、存在系统的某个路径下的jar。(一般不使用)

    欢迎关注我的公众号:云栖语,不一样的研发视界。
    云栖语微信公众号:change-1978
  • 相关阅读:
    2018/12/06 L1-031 到底是不是太胖了 Java
    2018/12/06 L1-030 一帮一 Java
    2018/12/06 L1-029 是不是太胖了 Java
    .NET Framework 类库命名空间
    .NET获取根目录
    ddd领域驱动设计
    垃圾回收
    rest api
    数据库ACID
    事务隔离级别
  • 原文地址:https://www.cnblogs.com/hunttown/p/14380527.html
Copyright © 2011-2022 走看看