快捷搜索: 王者荣耀 脱发

SonarQube踩坑:本地利用maven进行代码SonarQube静态扫描

1、ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count

SonarQube内置ElasticSearch内存不够 - 解决办法:修改内存配置大小 - 查询当前配置内存:sysctl -a | grep vm.max_map_count - 更改内存大小:sysctl -w vm.max_map_count=262144

2、 Please provide compiled classes of your project with sonar.java.binaries property

执行 mvn sonar:sonar提示没有项目编译类 解决:执行中添加配置 - -Dsonar.java.binaries=target/sonar - 执行中遇到报错找不到target/sonar文件,则手动进行创建

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

报错写入mysql过大,写入失败 解决办法:修改配置信息 - 查询当前配置大小:show VARIABLES like %max_allowed_packet%’; - 或:select @@max_allowed_packet; - 临时修改大小:set global max_allowed_packet=268435456; - 永久修改:更改mysql配置文件cd /etc/mysql/mysql.conf.d/mysqld.cnf - 增加配置:max_allowed_packet = 256M - 大小默认4M:4 10241024= 4194304 - 重启mysql/sonarQube - 再次进行扫描

4、汉化中文报错

○ 由于版本问题,可能会在点击install的时候报错,网上查了一下原因说是由于版本问题,如上环境安装汉化包时就报错了 我暗转的sonarqube版本是7.8的,在应用市场里汉化包版本是9.2,安装一直报错,所以我最后只能选择手动安装,也就是方式二 ■ 新版的SonarQube(7.9+)只支持以下数据库: ● Microsoft SQL Server、Oracle、PostgreSQL、H2 (默认的嵌入式数据库) ● 注意不再支持MySQL,使用MySQL数据源启动会报错: ● Exception in thread “main” org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql

3.1手动安装

汉化包地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.28/sonar-l10n-zh-plugin-1.28.jar ● 由于sonarqube7.8多以对应的汉化包版本是1.2.8 ● 将下载的汉化包上传sonarqube容器 ● 授权文件 ● 重启服务
经验分享 程序员 微信小程序 职场和发展