maven 属性

scope属性

<dependency> scope属性是用来限制第三方依赖包的做用范围, 影响maven项目在各个生命周期时导
入的package的状态。自从2.0.x后,新增了1种,如今有了6种经常使用scope:
  • compile

    * 默认的scope
        * 表示 dependency 能够在生命周期中使用。且这些dependencies 会传递到依赖的项目中
  • provided

    * 跟compile类似,可是代表了dependency 由JDK或者容器提供【例如Servlet API等】
        * 这个scope 只能做用在编译和测试时,同时没有传递性。不会将包打入本项目中,只是依赖过来。
  • runtime

    表示dependency不做用在编译时,但会做用在运行和测试时
  • test

    表示dependency做用在测试时,不做用在运行时
  • system

    * 跟provided 类似。必须经过元素显式地指定依赖文件的路径,maven不会在repository查找它
        * 因为此类依赖不是经过maven仓库解析的,并且每每是与本机系统绑定,可能形成构件的不可移
          植性,因此要谨慎使用。
  • import

    * maven 2.0.9 以后新增
    * 只使用在<dependencyManagement>中,表示从其它的pom中导入dependency的配置

    type属性

相关文章
相关标签/搜索