How to use provided scope for jar file in Gradle build?

本文介绍了Gradle中不同依赖范围的使用方法,包括compile、providedCompile和runtime等,并解释了它们的应用场景及配置前提。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖包有时候会有重复,有时候会导致冲突

maven scope有provided属性,不会导致依赖和大型框架自带的一些jar包冲突

 

gradle也有几种scope:

Gradle compile:

如果你的jar包/依赖代码 在编译的时候需要依赖,在运行的时候也需要,那么就用compile
例如 :

compile 'org.springframework:spring-webmvc:4.3.9.RELEASE'

  

前提:apply plugin: 'war'或者apply plugin: 'java'

 

Gradle providedCompile:

如果你的jar包/依赖代码 仅在编译的时候需要,但是在运行时不需要依赖,就用providedCompile
例如:

compileOnly group: 'javax.servlet.jsp.jstl', name: 'jstl', version: '1.2'

 

前提:apply plugin: 'war'

 

Gradle runtime:

如果你的jar包/依赖代码 仅在运行的时候需要,但是在编译时不需要依赖,就用runtime
例如:

runtime group: 'mysql', name: 'mysql-connector-java', version: '5.1.42'

 

前提:apply plugin: 'java'

 

以上所说的前提,如果不正确配置的话,就会遇到依赖包无法导入,以及runtime以及providedCompile无法使用的情况。

高版本gradle没有了providedCompile

 

参考:https://stackoverflow.com/questions/18738888/how-to-use-provided-scope-for-jar-file-in-gradle-build

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值