使用Gradle管理第三方依赖

Gradle的脚本文件就是Groovy文件,所以合法的Goovy代码都可以出现在脚本中。

方法一:直接添加依赖

最简单的添加第三方依赖方法是,直接在dependencies中:

dependencies {
	compile 'log4j:log4j:1.2.16'
	compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}

方法二:利用Map管理依赖

如果工程有很多的依赖,使用上面的方法会显得比较麻烦,所以利用Groovy的Map会更加方便:

libraries=[:]
libraries.log4j = 'log4j:log4j:1.2.16'
libraries.dom4j = 'dom4j:dom4j:1.6.1'
libraries.cglib = 'cglib:cglib:2.2'
libraries.javassist = 'javassist:javassist:3.12.1.GA'
libraries.ehcache = 'net.sf.ehcache:ehcache-core:2.4.1'
libraries.paranamer = 'com.thoughtworks.paranamer:paranamer:2.3'
libraries['commons-lang'] = 'commons-lang:commons-lang:2.5'
libraries['commons-beanutils'] = 'commons-beanutils:commons-beanutils:1.8.3'
libraries['commons-codec'] = 'commons-codec:commons-codec:1.5'
libraries['commons-digester'] = 'commons-digester:commons-digester:2.1'
libraries['commons-jexl'] = 'org.apache.commons:commons-jexl:2.0.1'
libraries['commons-dbcp'] = 'commons-dbcp:commons-dbcp:1.4'
libraries['commons-fileupload'] = 'commons-fileupload:commons-fileupload:1.2.1'
libraries['commons-io'] = 'commons-io:commons-io:2.0.1'
libraries['h2'] = 'com.h2database:h2:1.3.158'
libraries['bliki-core'] = 'info.bliki.wiki:bliki-core:3.0.16'

libraries += [
	'spring-core':            'org.springframework:spring-core:3.1.0.RELEASE',
	'spring-beans':           'org.springframework:spring-beans:3.1.0.RELEASE',
	'spring-context':         'org.springframework:spring-context:3.1.0.RELEASE',
	'spring-context-support': 'org.springframework:spring-context-support:3.1.0.RELEASE',
	'spring-asm':             'org.springframework:spring-asm:3.1.0.RELEASE',
	'spring-expression':      'org.springframework:spring-expression:3.1.0.RELEASE',
	'spring-web':             'org.springframework:spring-web:3.1.0.RELEASE',
	'spring-webmvc':          'org.springframework:spring-webmvc:3.1.0.RELEASE',
	'spring-aop':             'org.springframework:spring-aop:3.1.0.RELEASE',
	'spring-jdbc':            'org.springframework:spring-jdbc:3.1.0.RELEASE',
	'spring-orm':             'org.springframework:spring-orm:3.1.0.RELEASE',
	'spring-tx':              'org.springframework:spring-tx:3.1.0.RELEASE',
]

libraries +=  [
	'dorado-core':        'com.bstek.dorado:dorado-core:7.0.3-SNAPSHOT',
	'dorado-ide-support': 'com.bstek.dorado:dorado-ide-support:7.0.3-SNAPSHOT',
	'dorado-console':     'com.bstek.dorado:dorado-console:7.0.3-SNAPSHOT',
	'dorado-hibernate':   'com.bstek.dorado:dorado-hibernate:7.0.3-SNAPSHOT',
	'dorado-chart':       'com.bstek.dorado:dorado-chart:7.0.3-SNAPSHOT',
	'dorado-desktop':     'com.bstek.dorado:dorado-desktop:7.0.3-SNAPSHOT',
	'dorado-htmleditor':  'com.bstek.dorado:dorado-htmleditor:7.0.3-SNAPSHOT',
]

dependencies {
	libraries.each { k,v ->
		compile(libraries[k])
	}
}

上面将所有的第三方依赖放在自定义的libraries变量中(类型为Map),通过在dependencies中遍历libraries添加到compile中。

通过上面的方法,如果新增一个依赖,那么只需要添加到libraries中就可以了。

方法三:利用Map管理依赖版本

有时候需要修改某个依赖的版本,例如上面的dorado-*或spring-*,如果将对dorado的依赖版本有7.0.3-SNAPSHOT修改为7.0.4-SNAPSHOT,那么修改dorado-core、dorado-ide-support等多个地方,如果能够只修改一个地方就好了,可以使用下面的方法:

libraries=[:]
versions=[:]

def library(lib, v) {
	String.format(lib, versions[v]);
}

versions['spring'] = '3.1.0.RELEASE'
libraries +=  [
	'spring-core':            library('org.springframework:spring-core:%s',            'spring'),
	'spring-beans':           library('org.springframework:spring-beans:%s',           'spring'),
	'spring-context':         library('org.springframework:spring-context:%s',         'spring'),
	'spring-context-support': library('org.springframework:spring-context-support:%s', 'spring'),
	'spring-asm':             library('org.springframework:spring-asm:%s',             'spring'),
	'spring-expression':      library('org.springframework:spring-expression:%s',      'spring'),
	'spring-web':             library('org.springframework:spring-web:%s',             'spring'),
	'spring-webmvc':          library('org.springframework:spring-webmvc:%s',          'spring'),
	'spring-aop':             library('org.springframework:spring-aop:%s',             'spring'),
	'spring-jdbc':            library('org.springframework:spring-jdbc:%s',            'spring'),
	'spring-orm':             library('org.springframework:spring-orm:%s',             'spring'),
	'spring-tx':              library('org.springframework:spring-tx:%s',              'spring'),
]

versions['dorado'] = '7.0.3-SNAPSHOT'
libraries +=  [
	'dorado-core':        library('com.bstek.dorado:dorado-core:%s',        'dorado'),
	'dorado-ide-support': library('com.bstek.dorado:dorado-ide-support:%s', 'dorado'),
	'dorado-console':     library('com.bstek.dorado:dorado-console:%s',     'dorado'),
	'dorado-hibernate':   library('com.bstek.dorado:dorado-hibernate:%s',   'dorado'),
	'dorado-chart':       library('com.bstek.dorado:dorado-chart:%s',       'dorado'),
	'dorado-desktop':     library('com.bstek.dorado:dorado-desktop:%s',     'dorado'),
	'dorado-htmleditor':  library('com.bstek.dorado:dorado-htmleditor:%s',  'dorado'),
]

上面通过versions变量和library方法,将我们关心的依赖的版本管理起来了。

如果需要修改依赖的dorado的版本,只需要修改versions['dorado']的值。


转载于:https://my.oschina.net/u/998122/blog/381394

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值