依赖范围

1.使用原因

       有些jar只会在某些特定时期才会用到,项目发布后根本不会用到这些jar包,所以把这些jar打入最终的发布包中是不合理的。如junit只会在测试期用到,肯定不应该将它打入最终的发布包。解决方法如下:

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

      再如,我们开发j2ee的时候会用到servlet-api,它对已主源码和测试源码都是必要的,因为我们的代码中会引入Servlet-api的包,但是在打包的时候,将它放入war包就会有问题,因为web容器会提供servlet-api,如果我们再将其打包就会造成依赖冲突。解决方法如下:

    <dependency>  
      <groupId>javax.servlet</groupId>  
      <artifactId>servlet-api</artifactId>  
      <version>2.4</version>  
      <scope>provided</scope>  
    </dependency> 

          将依赖范围设置为provided,就意味着该依赖对于主源码classpath,以及测试源码classpath可用,但是不会被打包,这正是servlet-api需要的


2.依赖范围解释

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值