一. sonarqube扫描完成后,上传报告时报错,信息如下:
413 Request Entity Too Large
nginx/1.18.0
这是因为:请求实体过大超出了限制!
解决细则:
1. 在ngnix的配置文件中修改client_max_body_size 的大小,默认为1m。
2. nginx的配置文件路径:/etc/nginx/nginx.conf
3. 在http{}块中插入"client_max_body_size 50m;"
4. 重启nginx;/etc/init.d/nginx restart
5. 重启后修改的参数生效,扫描报告上传成功。
二、sonarqube扫描完成并上传后,分析报错,信息如下:
Project Settings->Background Task中查看log:
Caused by: org.apache.ibatis.exceptions.PersistenceException:
Error updating database. Cause: org.apache.ibatis.type.TypeException: could not set parameters for mapping: .....
The error may exist in org.sonar.db.measure.LiveMeasureMapper.
....
The error occurred while setting parameters
原因:报错的文件中包含了一个异常参数,该参数过长,导致解析失败。
解决细则:
1.在sonarqube.properties中,添加sonar.exclusions设置,并把文件赋值
例如:sonar.exclusions=**/*.bin,**/test/**,**/*xxx.h
三、sonarqube扫描完成并上传后,分析报
Project Settings->Background Task中查看log:
报错信息:
java.lang.OutOfMemoryError: Java heap space
原因:“JVM 堆空间溢出(java.lang.OutOfMemoryError: Java heap space)”错误是JVM 堆空间不足,此时只需要调整-Xms 和-Xmx 这两个参数即可。
修改细则:
1. 在sonar.properties中修改:
sonar.web.javaOpts=-Xmx4G -Xms2048m -XX:+HeapDumpOnOutOfMemoryError
sonar.ce.javaOpts =-Xmx4G -Xms2048m -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-Xmx4G -Xms2048m -XX:+HeapDumpOnOutOfMemoryError
2. 在文件elasticsearch/config/jvm.options修改
-Xms4g
-Xmx4g
3.步骤1.2中的4g一致。如果不够可以继续调整为8g。
4.重新启动sonarqube服务。
4.1进入:/opt/bitnami/sonarqube/bin/linux-x86-64
4.2 执行:./sonar.sh stop
4.3 重启sonarqube容器。
4.4 以sonarqube用户进入容器,在sonar.sh的文件目录中执行:./sonar.sh start