maven学习----依赖


配置文件中的依赖包,如何查询:

   
   
      1  通过坐标来进行查询--GAV
      2   有一些转门的网站,可以给我们坐标,比如  http://mvnrepository.com/artifact/org.nuxeo.common/nuxeo-common/
      3   可以通过dependency可以设置依赖,假如第一个类需要引用第二个类,需要将第一个类打包,然后在pom文件中加上第一个类所在的目录 得到传递性依赖


依赖包的传递性

          依赖是会被传递的。
         
          但是,假如没有写scope 默认就是compile 范围也就是编译范围,但是下面的scope为test,是不会导入junit包 。也就是这个依赖的scope是test,那么这个包是不会传递到一个compile的中的。对于依赖的传递而言,主要是针对compile作用域来传递的 ,而不是test。
                        

scope的作用域有很多 其中包括
        test           打成jar 或者是war不会打进去,仅仅在测试范围内有效
        compile    范围指的是编译范围有效,在编译和打包的时候都会将依赖存储进去
        provided  在编译和测试的过程有效, 在最后生成war包是不会加入的 诸如:servlet-api 因为tomcat的web服务器已经存在了 假如再次打包的时候回出现重复的
        runtime   在运行的时候依赖, 在编译的时候不依赖
        默认的依赖范围就是compile

依赖的问题:

    假如A-->B1.1 版本    C--->B1.0   那么 d-->A和C  那么d依赖于A的版本还是c得版本的?答案是 那个先写先依赖那个

    如果依赖的长度不一,那就依赖最短的路径

如何改变默认的依赖规则:

         配置文件中 <exclusions></ exclusions > 排除的因素

         比如:java文件dao依赖于log 和core,但是log和core  里面都有log4j.jar。需要在不依赖的那个包中添加如下的配置文件解决:
             
<dependency>
    <groupId>org.konghao.user</groupId>
    <artifactId>user-log</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<type>jar</type>
	<scope>compile</scope>
	<exclusions>
	   <exclusion>
	   <groupId>org.konghao.user</groupId>
       <artifactId>log4j</artifactId>
	   </exclusion>
	</exclusions>
</dependency>

 
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值