【问题标题】:Sonar: You must define the following mandatory properties for unknown not resolved声纳:您必须为未知未解析定义以下强制属性
【发布时间】:2014-11-23 10:12:30
【问题描述】:

我正在尝试在 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/.../.../ 我每次阅读时都会更改项目密钥,它必须是唯一的。

【问题讨论】:

  • 您在stackoverflow.com/questions/21204350/… 看到答案了吗?看起来与您遇到的问题相同。
  • 尼克,是的,我已经修改了属性文件。还是不行
  • @Karthikeyan,感谢您的编辑。我是堆栈溢出的新手
  • 您可以尝试将路径值放在有空格的引号中。就像把这个 sonar.sources=D:/eclipse workspace/NoSqlDataModeling 改成这个 sonar.sources="D:/eclipse workspace/NoSqlDataModeling"
  • 嘿,尼克,不,这不起作用。我得到了另一个似乎工作正常的属性文件。它也简单得多。但我看不出这两个配置文件之间的区别。这是新的配置文件。如果你能指出我犯了什么错误

标签: java sonarqube sonar-runner


【解决方案1】:

如何将项目上传到 SonarQube:

1) 启动 SonarQube。如果您在浏览器中输入 localhost:9000,您应该能够看到它。

2) 在命令提示符下,cd 到你的项目目录

3) 确保项目的根文件夹有“sonar-project.properties”文件并且已配置。如果你的项目没有“sonar-project.properties”文件,它会得到这个错误=Sonar Setup Undefined Mandatory Properties

我的 VendingMachineEmulator 应用程序的“sonar-project.properties”文件如下所示:

4) 在命令提示符下,现在键入“C:\sonar-scanner\sonar-scanner-2.6.1\bin\sonar-scanner.bat”。或者,您也可以输入“C:\sonar-scanner\sonar-scanner-2.6.1\bin\sonar-runner.bat”。我不确定有什么区别。确保您所在的目录仍然是您项目的主文件夹。

5) 完成!刷新 localhost:9000 并检查项目是否存在。

【讨论】:

  • 与上述相同答案以及更多声纳属性sonar.projectKey=MyWebApp sonar.projectBaseDir=./MyWebApp sonar.projectName=MyWebApp sonar.projectVersion=1.0 sonar.sources=./src/main/java sonar.language=java sonar.java.binaries=. sonar.scm.disabled=True sonar.sourceEncoding=UTF-8
【解决方案2】:

那些在项目文件夹中运行 sonar-runner 时遇到“执行失败”的人 添加-Dproject.settings=./sonar-project.properties

由于找不到设置文件,所以必须明确提及

sonar-project.properties 是我的项目中我给 projectKey, projectName 的文件名

对我来说, D:\TB-2 24 sept\server side\ServerSide>C:\Users\m1042220\Downloads\sonar-plugin\agent\sonar-plugin-agent\sonar-qube-runner\bin\sonar-runner -Dproject.settings=./sonar-project.properties

【讨论】:

  • 你这个摇滚老兄。对于竹用户,我在“附加参数”中添加了值:-Dproject.settings=./sonar-project.properties 谢谢。!!
  • 很高兴能帮上忙
【解决方案3】:

尝试从 sonar-project.properties 所在的目录运行 sonar-scanner 命令。

我遇到了同样的问题,后来发现我正在从不同的目录运行命令。

【讨论】:

    猜你喜欢
    • 2016-04-17
    • 2020-11-03
    • 2014-02-07
    • 2019-10-15
    • 2017-11-04
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多