【问题标题】:SonarQube : " Project configuration file: NONE "SonarQube:“项目配置文件:无”
【发布时间】:2016-05-20 18:23:48
【问题描述】:

我已经配置了所有东西来对 Maven 项目进行声纳分析。在我运行 sonar-runner 之前一切都很好:

     Max$ sonar-runner
     INFO: Scanner configuration file: /Users/Max/Documents/sonar-scanner-2.5/conf/sonar-runner.properties
     INFO: Project configuration file: NONE
     INFO: SonarQube Scanner 2.5
     INFO: Java 1.7.0_45 Oracle Corporation (64-bit)
     INFO: Mac OS X 10.10.3 x86_64
     INFO: User cache: /Users/Max/.sonar/cache
     INFO: Load global repositories
     INFO: Load global repositories (done) | time=143ms
     INFO: Property 'sonar.jdbc.url' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.
     INFO: User cache: /Users/Max/.sonar/cache
     INFO: Load plugins index
     INFO: Load plugins index (done) | time=4ms
     INFO: Default locale: "fr_FR", source code encoding: "UTF-8" (analysis  is platform dependent)
     INFO: Process project properties
     INFO: ------------------------------------------------------------------------
     INFO: EXECUTION FAILURE
     INFO: ------------------------------------------------------------------------
     INFO: Total time: 1.631s
     INFO: Final Memory: 40M/194M
     INFO: ------------------------------------------------------------------------
     ERROR: Error during SonarQube Scanner execution
     ERROR: Unable to load component class org.sonar.batch.scan.ProjectLock
     ERROR: Caused by: Unable to load component class     org.sonar.api.batch.bootstrap.ProjectReactor
     ERROR: Caused by: You must define the following mandatory properties for 'Unknown': sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources
     ERROR: 
     ERROR: To see the full stack trace of the errors, re-run SonarQube  Scanner with the -e switch.
     ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
  • 我在我的 java 项目文件夹中运行 sonar-runner
  • 我已经在我的 java 项目中放置并配置了 sonar-runner.properties

    sonar.projectKey=SeleniumMaven:sonar
    sonar.projectName=SeleniumMaven
    sonar.projectVersion=1.0
    sonar.sources=src
    sonar.sourceEncoding=UTF-8
    sonar.language=java
    

有什么想法吗?

【问题讨论】:

  • 如果你有一个 Maven 项目,为什么要使用 Sonar Runner?只需使用 Sonar Maven 插件。
  • 在我的情况下,我发现我从错误的位置调用扫描仪。如果使用 Jenkins 管道,请不要忘记 dir 步骤。

标签: java maven sonarqube sonar-runner sonarqube5.1


【解决方案1】:

尝试像这样传递值:

sonar-runner -Dsonar.projectKey=..... -Dsonar.projectName=...

如果有效,则意味着属性文件被忽略了

如果您查看以下消息:

INFO: Scanner configuration file: /Users/Max/Documents/sonar-scanner-2.5/conf/sonar-runner.properties
INFO: Project configuration file: NONE

看来您的项目配置文件确实被忽略了

【讨论】:

  • 谢谢,它正在工作!不知道为什么我的属性文件被忽略了!
  • 您是否从项目的根目录运行命令?但是,正如@Tunaki 所说,如果您的项目是基于 maven 的,则应该使用 sonar maven 插件。这样,您可以将分析附加到 Maven 阶段等。
【解决方案2】:

我遇到了同样的问题,我意识到我的文件名不正确:我将它改为“sonar-project.properties.properties”,而不是“sonar-project.properties”。

我会尝试将您的文件名更改为“sonar-project.properties”并尝试...

【讨论】:

  • 在我的例子中,文件名有特殊字符mv sonar-project.properties̀ sonar-project.properties
  • brilliant!....就我而言,我将其命名为 sonar-projects.properties
【解决方案3】:

你需要在项目的根目录下创建一个configuration filesonar-project.properties

如果sonar-project.properties文件不能在项目的根目录下创建(或者你不会),有several alternatives

  • 可以通过命令行直接指定属性。例如:

    声纳扫描仪 -Dsonar.projectKey=myproject -Dsonar.sources=src1

  • 属性 project.settings 可用于指定 项目配置文件(此选项与 project.home 和 sonar.projectBaseDir 属性)。例如:

    声纳扫描仪 -Dproject.settings=../myproject.properties

从 SonarQube Scanner 2.4(以前是 project.home)开始,可以通过 sonar.projectBaseDir 属性设置要分析的项目的根文件夹。如果未在命令行上指定 ma​​ndatory 属性(如 sonar.projectKey),则此文件夹必须包含 sonar-project.properties 文件。

Additional analysis parameters可以在这个项目配置文件中定义,也可以通过命令行参数来定义。

【讨论】:

    猜你喜欢
    • 2015-07-11
    • 2014-05-16
    • 2018-08-05
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2016-07-13
    • 2015-10-11
    • 1970-01-01
    相关资源
    最近更新 更多