sonarqube启动报错解决

启动sonar服务

#执行启动脚本

/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start

#查看日志

tail -100f /usr/local/sonarqube/logs/sonar.log

日志报错内容如下:

初步判断和文件权限有关

查看文件权限发现之前使用root用户启动导致sonar用户无法读取文件。

更改权限:

chown-R sonar.sonar /usr/local/sonarqube-6.7.6/

重新启动后无报错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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社区的帮助或报告给相关的库维护者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值