sonarqube执行sonar-scanner出现过的错误

1.ERROR: Error during SonarQube Scanner execution
ERROR: You must define the following mandatory properties for ‘Unknown’: sonar.projectKey
原因1.:sonar-project.properties文件里sonar写成onar
解决方法:将sonar-project.properties,文件改对
原因2:没有在sonar-project.properties文件所在位置执行命令/home/sona/sonar-scanner/bin/sonar-scanner

2.ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.ProjectLock
原因:没有对sonar-scanner进行变量配置
解决方法:vim /etc/profile,添加export PATH="$PATH:/home/sona/sonar-scanner/bin"
在这里插入图片描述
然后source /etc/profile,使文件生效

3.java.lang.IllegalStateException: Failed to create lock in /home/.scannerwork/.sonar_lock
原因:隐形文件.sonar_lock的所属用户为root,用普通账号去运行就会出错
解决方法:将.sonar_lock的所属用户改成普通账户,或切换为root账号去执行命令

4.org.sonar.java.AnalysisException: Please provide compiled classes of your project with sonar.java.binaries property
原因:sonar-project.properties文件配置错误
之前的配置如下:

sonar.projectKey=项目名
sonar.projectName=项目名
sonar.sources=文件路径
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8

正确配置应该如下:

sonar.projectKey=项目名
sonar.projectName=项目名
sonar.projectVersion=1.0-SNAPSHOT
sonar.sourceEncoding=UTF-8
sonar.modules=java-module

# Java module
java-module.sonar.projectName=Java Module
java-module.sonar.language=java
java-module.sonar.sources=src
java-module.sonar.projectBaseDir=.
sonar.java.binaries=target/

5.ERROR: Error during SonarQube Scanner execution

ERROR: Not authorized. Analyzing this project requires to be authenticated. Please provide the values of the properties sonar.login and sonar.password.

ERROR:

ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
原因:sonarqube设置了强制登录
解决方法:关闭强制登录设置就可以了
在这里插入图片描述
6.

ERROR: Error when running: 'node -v'. Is Node.js available during analysis?
org.sonarsource.nodejs.NodeCommandException: Error when running: 'node -v'. Is Node.js available during analysis?
	at org.sonarsource.nodejs.NodeCommand.start(NodeCommand.java:77)
	at org.sonarsource.nodejs.NodeCommandBuilderImpl.getVersion(NodeCommandBuilderImpl.java:171)
	at org.sonarsource.nodejs.NodeCommandBuilderImpl.checkNodeCompatibility(NodeCommandBuilderImpl.java:144)
	at org.sonarsource.nodejs.NodeCommandBuilderImpl.build(NodeCommandBuilderImpl.java:120)
	at org.sonar.plugins.javascript.eslint.EslintBridgeServerImpl.initNodeCommand(EslintBridgeServerImpl.java:129)
	at org.sonar.plugins.javascript.eslint.EslintBridgeServerImpl.startServer(EslintBridgeServerImpl.java:105)
	at org.sonar.plugins.javascript.eslint.EslintBridgeServerImpl.startServerLazily(EslintBridgeServerImpl.java:145)
	at org.sonar.plugins.javascript.eslint.EslintBasedRulesSensor.execute(EslintBasedRulesSensor.java:92)
	at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
	at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
	at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:400)
	at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:395)
	at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:392)
	at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.io.IOException: Cannot run program "node": error=2, No such file or directory
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at org.sonarsource.nodejs.NodeCommand$ProcessWrapperImpl.start(NodeCommand.java:154)
	at org.sonarsource.nodejs.NodeCommand.start(NodeCommand.java:73)
	... 38 common frames omitted
Caused by: java.io.IOException: error=2, No such file or directory
	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
	at java.base/java.lang.ProcessImpl.<init>(Unknown Source)
	at java.base/java.lang.ProcessImpl.start(Unknown Source)
	... 42 common frames omitted

原因:没有安装node
解决方法:输入命令node -v,没有安装的话会自动提示你是否要安装,根据提示一步步安装就好

ERROR: Unable to parse file: file:///home/unismart_web/ep_uspms/src/components/calendarComponent/calendar-component.vue
ERROR: Parse error at line 10 column 1:

在这里插入图片描述

<think>嗯,用户想了解如何配置和使用SonarQubeSonar-Scanner进行代码质量检查。首先,我需要回忆一下这两个工具的基本概念和它们之间的关系。根据引用内容,SonarQube是一个代码质量管理平台,而Sonar-Scanner是它的扫描器,用来分析代码并将结果传给SonarQube处理。用户可能已经知道这些,但可能需要具体的步骤指导。 接下来,我应该分步骤说明如何搭建环境和配置。首先,用户需要安装SonarQube服务器,这可能涉及到下载、安装、启动服务,还有中文设置的问题。引用里提到了SonarQube的下载和中文设置,所以这部分需要详细说明,比如修改配置文件中的语言设置。 然后是Sonar-Scanner的安装和配置。用户可能需要在不同的操作系统上操作,但问题里提到的是Windows,所以需要说明下载Windows版本的Scanner,解压后配置环境变量,以及如何编辑配置文件连接到SonarQube服务器。这里可能需要指定conf文件中的服务器地址和项目信息。 接下来是具体的使用步骤,比如在项目目录下创建sonar-project.properties文件,配置项目参数,然后运行扫描命令。用户可能需要知道如何编写这个配置文件,包括项目标识、名称、版本、源代码目录等。同时,结合引用中的信息,Sonar-Scanner执行后,结果会上传到SonarQube进行分析,用户需要登录Web界面查看结果。 可能还需要提到一些常见问题,比如端口冲突,SonarQube默认使用9000端口,如果被占用需要修改配置。另外,SonarQube的插件管理,比如安装中文包或其他语言支持,但用户可能已经通过引用中的中文设置部分解决了这个问题。 用户的问题可能还涉及到如何集成到持续集成流程中,比如与Jenkins或Maven的配合,但根据引用内容,可能没有这方面的信息,所以暂时不深入,或者提示用户可以进一步探索。 最后,生成相关问题的时候,需要围绕安装、配置、使用、优化和集成等方面提问,帮助用户深入理解。例如,如何解决端口冲突,如何分析多语言项目,或者如何进行自定义规则配置。 需要注意的是,回答的结构要清晰,分步骤说明,每个步骤给出具体的操作命令或配置示例,并引用提供的参考资料。同时,确保使用正确的中文术语,避免技术术语错误,比如“环境变量”配置,“配置文件”编辑等。</think>### SonarQubeSonar-Scanner 集成配置步骤 #### 一、环境准备 1. **安装 Java 环境** SonarQube 依赖 Java 11+ 运行环境,需提前安装并配置 `JAVA_HOME` 环境变量[^1]。 2. **下载与安装 SonarQube** - 从官网下载 SonarQube 社区版(例如 `sonarqube-9.9.x.zip`)并解压到本地目录。 - 启动服务: ```bash # Windows 使用 bin\windows-x86-64\StartSonar.bat # Linux/macOS 使用 bin/[OS]/sonar.sh start ``` - 访问 `http://localhost:9000` 验证服务是否运行。 3. **中文配置(可选)** 在 `conf/sonar.properties` 中添加: ```properties sonar.language=zh ``` #### 二、Sonar-Scanner 配置 1. **下载与安装** - 从官网下载对应操作系统的 Sonar-Scanner 并解压。 - 配置环境变量:将 `sonar-scanner/bin` 目录添加到系统 `PATH` 中[^2]。 2. **编辑配置文件** 修改 `conf/sonar-scanner.properties`: ```properties sonar.host.url=http://localhost:9000 sonar.login=your_project_token # 在 SonarQube 界面生成 ``` #### 三、项目集成示例 1. **创建项目配置文件** 在代码项目根目录新建 `sonar-project.properties`: ```properties sonar.projectKey=my_project sonar.projectName=My Project sonar.projectVersion=1.0 sonar.sources=src sonar.sourceEncoding=UTF-8 ``` 2. **执行代码扫描** 在项目目录下运行: ```bash sonar-scanner ``` 扫描完成后,结果会自动上传至 SonarQube 平台[^2]。 #### 四、结果查看与优化 1. **访问 SonarQube 控制台** 登录 `http://localhost:9000`,查看项目的代码质量报告(如漏洞、代码重复率、测试覆盖率等)。 2. **自定义规则(可选)** 在 SonarQube 的 **Rules** 菜单中,启用或禁用特定编程语言的检查规则。 --- ### 注意事项 1. **端口冲突处理** 若端口 9000 被占用,需修改 `conf/sonar.properties` 中的 `sonar.web.port` 参数并重启服务。 2. **多语言支持** SonarQube 默认支持 Java、Python 等语言,需安装对应插件以扩展分析能力。 ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sophiasofia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值