解决gradle与sonar集成过程中的版本问题

初学gradle,一切都还在摸索的过程中。今天刚刚试图将之前基于ant + ivy的一个小项目转移到gradle下,结果在和sonar集成时出现问题。

gradle中支持sonar的方式很简单,gradle提供了一个sonar的plugin,简单的在build.gradle中配置一下就好了:

apply plugin: 'sonar'

sonar {
serverUrl = "http://192.168.0.40:9000"

globalProperty "sonar.jdbc.url", "jdbc:mysql://192.168.0.40:3306/sonar?useUnicode=true&characterEncoding=utf8"
globalProperty "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
globalProperty "sonar.jdbc.username", "sonar"
globalProperty "sonar.jdbc.password", "sonar"
}


结果非常意外失败了!一个无耻的失败: Plugin with id 'sonar' not found !

很是晕倒,sonar的plugin是gradle官方自带的,居然也能not found!gradle --version 看了一下自己当前的版本: Gradle 1.0-milestone-1。印象中是最近才更新的,跑gradle官网看了一下,milestone-1 是3月份的版本,现在最新的已经是1.0-milestone-3了。

猜想是1.0-milestone-1的bug,于是立即下载安装,将本地gradle环境更新到1.0-milestone-3.再次运行gradle sonar,上述sonar plugin not found的错误消失。晕倒,这种无聊的bug也能在milestone 中出现。

继续,上面的bug消失之后,gradle sonar命令依然失败,错误消息显示,http访问地址http://192.168.0.40:9000/batch 时失败。打开浏览器输入这个地址,发现的确不能打开。http://192.168.0.40:9000是我安装的sonar的地址,感觉是gradle试图连接sonar服务器拿点什么东西的样子,sonar服务器却没有这个东东。

刚刚从gradle版本错误中被教育的我迅速反应出来,最新版本的gradle,应该支持的是新版本的sonar,我的sonar服务器可能版本太旧了。看了一下,发现果然,我本地的sonar版本是2.1,sonar官网已经更新到2.7! 立即下载重新安装sonar2.7版本,再次尝试gradle sonar命令,一切正常,gradle顺利完成和sonar的集成!

看来保持与时俱进,及时更新到新版本还是有必要的。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值