本文主要是介绍Sonar 与 PDF报告问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在安装完sonarqube 和 sonar-scanner 之后,试验可以正常扫描。需要要求还要生成PDF报告,并下载,功能看似简单,但生成PDF 却比较多问题。
1. 下载安装,这个问题不大,因为这个只是sonarqube的一个插件,通过连接下载插件:https://gitee.com/zzulj/sonar-pdf-plugin ,在统计版本中可以查到适合已安装的sonarqube 版本的版本,本次安装的是sonarqube7.5,可以下载的版本在3.0以上
2. 直接将jar 包丢到/sonarqube-7.5/extensions/plugins 下面
3. 重新启动sonarqube , 登陆之后就可以看到增加了PDF的配置
4. 将原来的项目删除,然后重新进行扫描就可以有PDF了
正常是这样子的,可是头大开始
踩坑1: 扫描日志报错,明明已经生成了PDF,却在上传的时候说找不到。
解决方法:网上找了很久才在论坛里看到有人提到是配置的没对。Sonar ->配置->pdf report
这里搞混了配了数据库的登陆账号,然后把它换成sonar 的账号和密码,这里是否跳过要打开,不然会找不到文档,再重新扫描。
可是还是没找到PDF 跳过的日志。
踩坑2: pdf 确实是生成了,在服务器也找到了,可是下载却报错
解决方法:这个查找过程挺麻烦的,但是在之前的安装sonar时不停的掉进同一个localhost的坑里才有方向。
网上一般安装sonarqube 和sonar-scanner都直接安装在/usr/local/下面,然后sonar.web.context=/sonar 这个会保留默认,所以它请求的时候直接,域名+ 端口就可以访问,但我安装的是在/usr/local/sonar/路径下,然后sonar.web.context=/sonar 这个也打开了,所以正常的访问方式是:域名+端口/sonar?这个样的。
于是在下载的链接上/api/pdfreport/get?componentKey=TestEpay 前面增加 sonar ,变成/ sonar/api/pdfreport/get?componentKey=TestEpay , 然后请求下载就正常了。
通过刷新查看页面信息,下载这个拼接也不是从环境变量里面取的,也不知道它取的是哪个参数,于是直接修改其他的部分
于是直接修改插件的js文件,让拼接的链接正确
Linux 中解压jar 文件,因为会直接解压到当前文件,最好新建一个文件夹
Jar –xvf sonar-pdfreport-plugin-3.0.2.jar
vim ./static/download.js
重新压缩为jar包 jar cvf0M sonar-pdfreport-plugin-3.0.2.jar ./
然后替换原来的jar 包。
从新启动sonarqube , 查看页面元素
修改成功,点击download 下载成功。
这篇关于Sonar 与 PDF报告问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!