sonarqube 启动报错

root运行报错,普通用户运行也报错。 (千万要注意 sonarquebe解压文件千万别放在root文件夹下,不然就是如下错误,因为我经历过血淋淋的教训.哎。。。)

/sonar.sh: line 105: cd: /root/sonarqube/bin/linux-x86-64/.: Permission denied
Unable to locate any of the following binaries:
  /root/sonarqube/bin/linux-x86-64/./wrapper-linux-x86-32
  /root/sonarqube/bin/linux-x86-64/./wrapper-linux-x86-64
  /root/sonarqube/bin/linux-x86-64/./wrapper

1.创建soner用户

#useradd sonar

详细点的话可以 passwd sonar 设置密码 切换用户启动

2.给文件夹赋权限

#chown  -R  sonar.   sonaqube

一般执行1,2就可以启动了

3. 找到sonar.sh 设置:RUN_AS_USER=sonar

#vi /opt/sonar/bin/linux-x86-64/sonar.sh

4.修改数据库配置文件 数据库一定要写对

#vi /opt/sonarqube/conf/sonar.properties

 

5.切换su sonar用户

启动 ./sonar.sh start

6访问

http://你的ip地址/sonerqube/

 

SonarQube扫描项目时遇到 "Unable to make protected final java.lang.Class java.ClassLoader.defineClass" 的错误,这通常意味着在执行静态分析过程中,它试图访问或修改ClassLoader的行为,而这个操作通常是不允许的,因为`defineClass`是一个受保护的方法。 这个错误可能是由于以下几个原因: 1. **反射滥用**:如果你的代码中有对反射API(如`Class.forName()`或`ClassLoader.defineClass()`)的不当使用,可能会导致此异常。检查是否在不应该的地方或在安全上下文中使用了这些功能。 2. **插件冲突**:某些插件可能尝试在SonarQube运行期间动态加载自定义类,如果没有正确处理权限可能导致这个问题。 3. **代码库中的隐藏问题**:如果是在第三方依赖库中发现的问题,可能是某个库内部的代码有误,或者你需要更新该库到最新版本以修复这个问题。 要解决这个问题,你可以按照以下步骤操作: - **查看日志详细信息**:错误信息通常会提供堆栈跟踪,帮助定位具体出错的位置。 - **检查代码**:找出涉及`defineClass`调用的部分,并确保其在SonarQube环境下是安全和恰当的。 - **排除插件**:如果怀疑是插件引起的,尝试禁用或更新有问题的插件,看看问题是否得到解决。 - **联系开发者或社区**:如果问题依然存在且难以解决,可能需要寻求SonarQube社区的帮助或报告给相关的库维护者。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值