sonarqube+sonar-scanner遇到的问题总结

前言

下载这个软件最终是为了sonarqube+Jenkins+jacoco得出测试覆盖率,做一个测试平台。
过程艰辛。
本文汇总各种因为软件问题和自己的粗心大意遇到的大坑,全篇吐槽说明,读者会感到浓浓的怨念先在这里致歉了。

版本(第一坑)

大多数的教程不会提到版本问题,所以这是第一个大坑。
首先下载安装sonarqube并分析项目需要JDK+sonarqube+sonar-scanner/sonar-runner+mysql
JDK 1.8版本 sonarqube别超过7.6
sonar-scanner下载过4.2和4.5都可以用 其他一概不知
MySQL >=5.6 && <8.0
所以我安装成功的版本如下
JDK1.8
sonarqube7.3社区版community
sonar-scanner4.5
mysql 5.7.31

如果sonarqube7.6以上:JDK报错SonarQube will require Java 11+ starting on next version
如果sonarqube7.9以上:JDBC报错 WrapperSimpleApp:Encountered an error running main: org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql
org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql
<-- Wrapper Stopped
显示这个版本不支持数据库了
sonarqube8.0以上版本可以选择什么自带数据库(网上说的)
此外 sonar6.x版本加入了elasticsearch,遇到不能以root用户启动(看到这里我已经开始恶心)
由于但是觉得重新下载7.3太过麻烦 所以去掉了jdbc,直接使用sonarqube+sonar-scanner
访问http://localhost:9000
成功了(云淡风轻 却不知这才刚刚开始)
在这里插入图片描述成功访问进入界面
导入项目试试看呢
再度报错:Re-run SonarQube Scanner using the -X switch to enable full debug logging.
漂亮。

无奈实在搞不明白8.x版本的特性,还是中规中矩从7.x开始
下载好前文所说版本后 再度导入项目

显显示成功 去界面看看生成报告在这里插入图片描述显示成功 去界面看看
好家伙 漂亮
分析停止 输入许可证
这就是为什么要下社区版的原因。
只有社区版是免费的。

配置(第二坑)

需要配置的文件
下载好各项软件后
1.直接百度mysql配置sonar(按百度教程来就行)
2.创建sonar用户之后配置/usr/local/sonarqube-7.3/conf里的sonar.properties
比如
sonar.host.url=http://localhost:9000/sonarqube #mysql连接 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance #mysql用户名 sonar.jdbc.username=root #mysql密码 sonar.jdbc.password=123456 sonar.sorceEncoding=UTF-8 #web登陆账号和密码 sonar.login=admin sonar.password=admin
然后/usr/local/sonarqube-7.3/conf还有个wrapper.conf
大部分教程都是
wrapper.java.command=$JAVA_HOME/bin/java
其中JAVA_HOME在bash_profile已经配置了
是JDK路径 不知道可以使用which java查看
我的bash_profile是
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
wrapper.java.command=$JAVA_HOME/bin/java
等同于
wrapper.java.command=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/java
但是sonarqube启动失败
遂改用
wrapper.java.command=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/java这种配置 试试 我是这种才可以生效

三个解决很久的问题(第三坑)

分析项目时报的错:
(1)Please provide compiled classes of your project with sonar.java.binaries property.
(2)Analyses suspended.Please set a vaild license for the Edition you installed.
(3)Not authorized. Please check the properties sonar.login and sonar.password.
解决方式:
问题(1)解决方案为在sonar-scanner.properties 中添加配置
sonar.host.url=http://localhost:9000
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=123456
但是不明白 明明配置过了为什么还会报这个错
问题(2)解决方案就是下载社区版sonarqube
问题(3)解决方案是项目的sonar-project.properties文件中:
sonar.projectKey=项目的key(自定义)
sonar.projectName=项目名称
sonar.projectVersion=项目版本
sonar.sources=项目路径
#添加下面这行
sonar.java.binaries=项目路径/target/classes
然而项目路径下并没有target/classes的目录文件 找都找不到 怎么可能解决问题
上网百度因为一个jar包版本的原因,sonar-java-plugin-5.1.0.13090.jar 需要降级
遇到可以直接百度
尝试跑python程序
没用到这个jar包
在这里插入图片描述
在这里插入图片描述
终于成功

尝试跑一个很大的php项目
果不其然继续报错
sonar java.lang.OutOfMemoryError: Java heap space
继续上网百度

解决方案1
解决方案2

都试了一下 都不可以 (这里正式的吐了🤮)

最后仍然是大项目跑不成功
只跑成了大项目里的小项目

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值