Sky's blog

我和我追逐的梦

常用链接

统计

其他链接

友情链接

最新评论

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

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

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

Java代码 
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的集成! 

    看来保持与时俱进,及时更新到新版本还是有必要的。 


posted on 2011-05-15 13:12 sky ao 阅读(4357) 评论(0)  编辑  收藏 所属分类: project manager


只有注册用户登录后才能发表评论。


网站导航: