我正在尝试在 java 项目上运行 SonarQube。我配置了声纳属性文件并将其放置在项目目录中。运行 sonar.bat 时出现错误,要求定义强制参数。起初我以为我的属性文件是错误的,但我已经尝试了我能想到的一切。
这是当前的属性文件
# Required metadata
sonar.projectKey=_newtest2
sonar.projectName=NoSqlDataModeling
sonar.projectVersion=2.0
# Path to the parent source code directory.
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=D:/eclipse workspace/NoSqlDataModeling
#Comma-separated paths to directories containing the binary files (directories with class files, in the case of Java).
sonar.binaries=D:/eclipse workspace/NoSqlDataModeling/build/classes
#Comma-separated paths to files with third-party libraries (JAR files in the case of Java). Patterns #can be used.
sonar.libraries=D:/eclipse workspace/NoSqlDataModeling/WebContent/WEB-INF/lib/*.jar
#language used
sonar.language=java
# Encoding of the source code
sonar.sourceEncoding=UTF-8
# Additional parameters
sonar.my.property=value
这是错误信息
INFO: SonarQube Server 4.3.1
09:58:57.783 INFO - Load batch settings
09:58:57.901 INFO - User cache: C:\Users\Rohan.Kumar\.sonar\cache
09:58:57.907 INFO - Install plugins
09:58:57.913 INFO - Download sonar-maven-batch-plugin-4.3.1.jar
09:58:58.037 INFO - Download sonar-findbugs-plugin-2.1.jar
09:58:58.436 INFO - Download sonar-surefire-plugin-2.1.jar
09:58:58.540 INFO - Download sonar-cpd-plugin-4.3.1.jar
09:58:58.870 INFO - Download sonar-core-plugin-4.3.1.jar
09:58:58.956 INFO - Download sonar-java-plugin-2.1.jar
09:58:59.097 INFO - Download sonar-dbcleaner-plugin-4.3.1.jar
09:58:59.216 INFO - Download sonar-jacoco-plugin-2.1.jar
09:58:59.331 INFO - Download sonar-l10n-en-plugin-4.3.1.jar
09:58:59.350 INFO - Download sonar-squid-java-plugin-2.1.jar
09:58:59.453 INFO - Download sonar-email-notifications-plugin-4.3.1.jar
09:58:59.655 INFO - Download sonar-design-plugin-4.3.1.jar
09:58:59.826 INFO - Install JDBC driver
09:59:00.061 WARN - H2 database should be used for evaluation purpose only
09:59:00.061 INFO - Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
09:59:00.784 INFO - Initializing Hibernate
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 7.521s
Final Memory: 5M/19M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: You must define the following mandatory properties for 'Unknow
n': sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources
ERROR:
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with t
he -e switch.
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
我应该提供所有类文件和 java 文件的逗号分隔路径吗? 我提供路径的深度是多少?不同的类文件位于 build/classes/.../.../<4 different folders that have class files inside them> 我每次阅读时都会更改项目密钥,它必须是唯一的。
如何将项目上传到 SonarQube:
1) 启动 SonarQube。如果您在浏览器中输入 localhost:9000 ,您应该能够看到它。
3)确保项目的根文件夹中有“sonar-project.properties”文件并且已配置。如果您的项目没有“sonar-project.properties”文件,则会出现此错误= Sonar 设置未定义的强制属性
我的 VendingMachineEmulator 应用程序的“sonar-project.properties”文件如下所示:
4) 在命令提示符下,现在输入“C:\sonar-scanner\sonar-scanner-2.6.1 in\sonar-scanner.bat”。或者,您也可以输入“C:\sonar-scanner\sonar-scanner-2.6.1 in\sonar-runner.bat”。我不确定有什么区别。确保您所在的目录仍然是项目的主文件夹。
5)完成!刷新 localhost:9000 并检查该项目是否存在。
那些在项目文件夹中运行 sonar-runner 时遇到“执行失败”的人添加
-Dproject.settings=./sonar-project.properties
由于找不到设置文件,所以必须明确提及
sonar-project.properties 是我项目中的文件名,我在其中提供了projectKey、projectName
对我来说, 使用上述参数运行声纳跑步者。 Sonar runner 位于文件夹路径 sonar-plugin gent\sonar-plugin-agent\sonar-qube-runner in\sonar-runner 中或将其添加到环境路径
sonar-runner -Dproject.settings=./sonar-project.properties
尝试从 sonar-project.properties 所在的目录运行 sonar-scanner 命令。
我遇到了同样的问题,后来发现我正在从不同的目录运行命令。
我遇到了这个问题,就我而言,我的项目根目录中没有 sonar-project.properties 文件,只需创建它并根据您的项目在其中输入属性即可。