• 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%in;

    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.8logsweb.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-winx64my.ini

    我加了一行

    max_allowed_packet = 60M

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

  • 相关阅读:
    【JavaWeb】DbUtils入门之QueryRunner
    详解 hibernate mapping配置
    hibernate-mapping的各种属性配置
    Hibernate入门这一篇就够了
    记一次Sql优化过程
    ExtJs双ActionResult共用同一Js文件ID冲突解决方案
    ExtJs批量更新
    枚举初使用
    Dapper连接Oracle
    读取Excel任务列表并显示在Outlook日历上
  • 原文地址:https://www.cnblogs.com/zhangcheng1/p/11098553.html
Copyright © 2020-2023  润新知