sonar-scanner扫描各种出错解决

昨天搭建sonarqube,今天打算扫描一个项目文件,然后在http://localhost:9000/希望能够看到结果。

然后经历了各种坑,几乎崩溃要放弃了。终于今天解决了。

扫描一个helloworld简单的项目,非常顺利,立即就上去了。

一旦扫描一个比较大的项目就各种错误。

下面总结一下遇到了哪些问题及怎么解决的。

先说一下手顺。(指扫描项目手顺,搭建环境见上一篇)

1.下载sonar-scanner,以前可能叫sonar-runner。

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

我是win版 下载 配置环境变量

SONAR_SCANNER_HOME

D:\sonar-scanner

path加一下 ;%SONAR_SCANNER_HOME%\bin;

2.在你要扫描的工程下面加一个文件

sonar-project.properties

sonar.projectKey=HelloWorld
sonar.projectName=HelloWorld
sonar.projectVersion=1.0
sonar.sources=C:\\Users\\zhangcheng\\IdeaProjects\\HelloWorld\\src
sonar.java.binaries=C:\\Users\\zhangcheng\\IdeaProjects\\HelloWorld\\out
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.exclusions=**/*.js

3.maven 来执行扫描也可以,暂时没有研究
然后cmd 到你项目的目录C:\\Users\\zhangcheng\\IdeaProjects\\HelloWorld

执行sonar-scanner -v

你能看到版本号,代码sanner安装没问题,可以跑。

然后开始各种坑了。

各种什么js出错,node.js出错。TypeScript出错。npm出错。

最后好不容易解决了各种扫描问题,好像上传post到sonarqube出错,原来是post有限制

我默认的是4M 要改成大一点。

各种js出错,本来想跳过的不扫描,于是在sonar-project.properties文件里

配置了

sonar.exclusions=**/*(!.java),**/*.js,C:\\Users\\zhangcheng\\IdeaProjects\\helloworld\\src\\test\\**,

也不知道有没有用,感觉还是在扫描js,仿照了idea的排除设置,好像还是没用。

错误 Failed to get Node.js version.No TypeScript files will be analyzed. You can exclude TypeScript files from analysis with 'sonar.exclusions' property

上了这个官方网址按照步骤一步一步啃

https://docs.sonarqube.org/display/PLUG/SonarTS

第1,2步都做过了,第3步 下sonarTS,看了下我的插件,是最新的sonarqube,已经自带了有的。

第四部node.js没有,下载安装

https://nodejs.org/en/

再扫描还是错误

ERROR: Failed to get Node.js version.No TypeScript files will be analyzed. You can exclude TypeScript files from analysis with 'sonar.exclusions' property.

做上图第5步,安装typescript,npm下载安装

在你的项目的路径输入npm -g install typescript 

一直出错 用阿里云的镜像下 公司有proxy估计下不了,折腾了半天终于下来了。

不行的话来这三步

npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist
npm -g install typescript

正确图

npm -g install typescript 错误图

安装成功的话你可以 tsc -v 一下

有版本信息就成功了。

下面在sonar-scanner 重新扫描

debug模式的话可以 sonar-scanner  -X 来扫描,可以看到不少错误。

终于扫描都过去了。report也生成了。52M,压缩了15M

看样子是上传出错了。

D:\sonarqube-7.8\logs\web.log  去看日志

Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (16704755 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.

果然是mysql的上传包有限制大小。

到mysql 的sql去查一下

show VARIABLES like '%max_allowed_packet%';

果然

max_allowed_packet  是  4194304

4M默认的

用命令改一下

set global max_allowed_packet = 6*1024*1024*10;

改到60M

这边坑我半天,设置60M后一查 还是4194304 好像没有反应一样,

于是我重启mysql ,重启电脑,各种坑,说有可能一重启就回滚了,设置的60M就失效了。

这个命令设置只是临时的。woc

而且我设置了一直没有反应,原来要等一会儿,不能太急,

Navicat for MySQL这个查有点滞后,我用MySQL Workbench 8.0 CE查,立即看到改成60M了,

于是迫不及待的去扫描一下,终于终于。。

上传成功了。

赶快去sonarqube去看一下。http://localhost:9000/projects

太急人家还在处理中呢

过了一会儿,终于就能看见了。

完工。

mysql改post包大小,说改配置文件

D:\mysql-5.7.26-winx64\my.ini

我加了一行

max_allowed_packet = 60M

好像没有反应,不知道怎么回事,电脑也重启了,mysql 也重启了。崩溃

猜你喜欢

转载自www.cnblogs.com/zhangcheng1/p/11098553.html