Dependency scope 是用来限制Dependency的作用范围的, 影响maven项目在各个生命周期时导入的package的状态。

自从2.0.9后,新增了1种,现在有了6种scope:

  • compile
    默认的scope,表示 dependency 都可以在生命周期中使用。而且,这些dependencies 会传递到依赖的项目中。
  • provided
    跟compile相似,但是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。
  • runtime
    表示dependency不作用在编译时,但会作用在运行和测试时
  • test
    表示dependency作用在测试时,不作用在运行时。
  • system
    跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。 例如:
<project>
...
<dependencies>
<dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
</dependencies>
...
</project>
  • import(Maven 2.0.9 之后新增)

    只使用 在<dependencyManagement>中,表示从其它的pom中导入dependency的配置,例如:   
    This scope is only used on a dependency of type pom in the
    <dependencyManagement> section. It indicates that the specified
    POM should be replaced with the dependencies in that POM’s
    <dependencyManagement> section. Since they are replaced,
    dependencies with a scope of import do not actually participate in
    limiting the transitivity of a dependency.
<project>
  
<modelVersion>4.0.0</modelVersion>
  
<groupId>maven</groupId>
  
<artifactId>B</artifactId>
  
<packaging>pom</packaging>
  
<name>B</name>
  
<version>1.0</version>
  
<dependencyManagement>
  
    <dependencies>
  
      <dependency>
  
        <groupId>maven</groupId>
  
        <artifactId>A</artifactId>
  
        <version>1.0</version>
  
        <type>pom</type>
  
        <scope>import</scope>
  
      </dependency>
  
      <dependency>
  
        <groupId>test</groupId>
  
        <artifactId>d</artifactId>
  
        <version>1.0</version>
  
      </dependency>
  
    </dependencies>
  
</dependencyManagement>
</project>

B项目导入A项目中的包配置

Dependency Scopes(maven)的更多相关文章

  1. Maven Dependency Scope用法

    原帖地址:http://uule.iteye.com/blog/2087485 官方API描述 Dependency scope 是用来限制Dependency的作用范围的, 影响maven项目在各个 ...

  2. Maven Dependency Scope

     官方API描述 Dependency scope 是用来限制Dependency的作用范围的, 影响maven项目在各个生命周期时导入的package的状态. 自从2.0.9后,新增了1种,现在有了 ...

  3. Maven的dependency scope属性

    官方地址:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependen ...

  4. maven常用插件集

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  5. maven管理本地jar包注意事项

    今天lucene中集成第三方中文分词器IKAnalyzer的时候遇到了相似的问题:lucene版本4.9.IKAnalyzer版本2012FF_hf1 直接去maven仓库下载,pom配置如下: &l ...

  6. 解决Maven工程中报 Missing artifact jdk.tools:jdk.tools:

    jdk.tools:jdk.tools是与JDK一起分发的一个JAR文件,可以如下方式加入到Maven项目中:<dependency>    <groupId>jdk.tool ...

  7. Ubuntu杂记——Ubuntu下Eclipse搭建Maven、SVN环境

    正在实习的公司项目是使用Maven+SVN管理的,所以转到Ubuntu下也要靠自己搭环境,自己动手,丰衣足食.步骤有点简略,但还是能理解的. 一.安装JDK7 打开终端(Ctrl+Alt+T),输入  ...

  8. Maven随记

    如何保持依赖的多个jar保持版本一致 在引入依赖的时候常常需要依赖多个独立的模块, 譬如Spring的content, aop等等, 为了保持版本一致, 可以设置<spring.version& ...

  9. Maven 导出依赖Jar,生成source.jar,javadoc.jar

    下载最新版的Maven http://maven.apache.org/download.cgi    解压到本地文件夹 新建环境变量    MAVEN_HOME   maven解压目录 在path加 ...

随机推荐

  1. openfire 发送 接受 注册 广播 好友列表 在线状态

    package cn.zsmy.utils.openfire; import java.io.BufferedReader; import java.io.InputStreamReader; imp ...

  2. IE 此网站的某个加载项无法运行

    1.使用IE浏览器 发生问题,一直以为是浏览器安全设置出问题,将IE安全级别调到最低,还是同样的问题 2.转用360浏览器(IE内核) 问题一样,提示略有不同 点击需要运行的java程序 解决方法 1 ...

  3. MATLAB 2016b 切换回英文版

    原因: 中文下不能使用等间距字体.因为等间距字体都是英文字体,报错信息又是中文的,所以这时候报错就全是乱码.如果改成中文字体,又不是等间距的了,看着瞎眼. 方法: Preferences->Ge ...

  4. 【Python】微博自动抢红包

    # -*- coding: utf-8 -*- import requests import js2xml from lxml import etree headers = { # 这边cookie替 ...

  5. python 下载虾米音乐

    #!/usr/bin/env python2 # coding:utf-8 import urllib import re import sys import urllib2 # xml => ...

  6. java中的不同的value类型从map中获取不同的value值

    protected <V> V getValFromMap(Map<String, Object> headers, String name, Class<V> t ...

  7. JAVA-JSP内置对象

    相关资料:<21天学通Java Web开发> request 请求对象 类型javax.servlet.ServletRequest 作用域Requestresponse 响应对象 类型j ...

  8. iOS友盟推送测试模式添加手机设备报红解决如下

    设备描述红色一般是没有往友盟发日志,或者appkey漏掉了.先检查是否正确的填写了推送的appkey,统计的方法为MobClick startWithAppkey:推送的方法为UMessage sta ...

  9. 几种经典的Hash算法的实现(源代码)

    来源声明: http://blog.minidx.com/2008/01/27/446.html 先保存下来,以备后面研究,现在还看不懂! 哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这 ...

  10. [cpu]TI cortex-A9 查看cpu的频率

    Hi Aaron, For checking and changing Cortex-A9 CPU frequency in u-boot, refer to the below files: u-b ...