当前位置: 首页 > 知识库问答 >
问题:

在詹金斯进行分析时声纳作业失败

毛峻
2023-03-14

我正在Jenkins进行一个用sonarqube分析代码的项目。workspace下的项目结构为:/var/lib/jenkins/workspace/myproject-trunk-sonar/myproject/pom.xml,Module1,Module2等

# Required metadata
sonar.projectKey=Myproject
sonar.projectName=Myproject
sonar.projectVersion=1.0

#Set modules IDs
sonar.modules=Module1, Module2
# Comma-separated paths to directories with sources (required)
sonar.sources=src/main/java

# Language
sonar.language=java

# Encoding of the source files
sonar.sourceEncoding=UTF-8

如果pom.xml和模块所在的/var/lib/jenkins/workspace/myproject-trunk-sonar/myproject下有sonar-project.properties文件,则会看到以下错误:

ERROR: Error during SonarQube Scanner execution
ERROR: You must define the following mandatory properties for 'Unknown': sonar.projectKey, sonar.sources
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
ERROR: SonarQube scanner exited with non-zero code: 1 

如果在/var/lib/jenkins/workspace/myproject-trunk-sonar下有sonar-project.properties文件,则会看到以下错误:

ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: The base directory of the module 'Module1' does not exist: /var/lib/jenkins/workspace/myproject-trunk-sonar/Module1
    at org.sonarsource.scanner.cli.Conf.setModuleBaseDir(Conf.java:180)
    at org.sonarsource.scanner.cli.Conf.loadModuleConfigFile(Conf.java:172)
    at org.sonarsource.scanner.cli.Conf.loadModulesProperties(Conf.java:137)
    at org.sonarsource.scanner.cli.Conf.loadProjectProperties(Conf.java:111)
    at org.sonarsource.scanner.cli.Conf.properties(Conf.java:59)
    at org.sonarsource.scanner.cli.Main.execute(Main.java:68)
    at org.sonarsource.scanner.cli.Main.main(Main.java:61)
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.

ERROR: SonarQube scanner exited with non-zero code: 1

我如何让声纳扫描器查看带有java代码的模块所在的目录?当我在模块所在的目录中有属性文件时,它甚至找不到属性文件,并抱怨缺少强制字段。

谢谢你的帮助。

共有1个答案

吴高远
2023-03-14

谢谢你的回复。我能够通过修改我的项目的目录结构来解决这个问题。我删除了目录'myproject'并将sonar-project.properties文件放置在所有模块所在的位置,并且能够成功地运行扫描仪。

谢谢你的帮助。

 类似资料:
  • 我们能比较詹金斯和声纳吗?如果是,怎么做。我想知道詹金斯和声纳的优缺点。比如为什么要使用声纳,它比詹金斯有什么优势,反之亦然?

  • 我的JUnit测试覆盖范围在jenkins上构建时不会传播到声纳。声纳上的“单元测试覆盖范围”字段保持空白,但“单元测试成功”字段显示正确的值。我正在使用jacoco进行测试覆盖。在jenkins上,jacoco的报告运行良好,并在生成的html中显示了正确的覆盖率。我就是不能把它送到声纳上。 使用jenkins的Jacoco插件,我使用以下参数调用独立的声纳分析。 路径和蚁任务是正确的。也许我错

  • 问题:我正在设置詹金斯声纳github集成,用于通过声纳自动提取请求静态代码检查。 我的配置: > 使用github安装声纳 詹金斯 在jenkins post build action中,我有以下属性 我已经添加了所有除了sonar.github.pull请求属性。我不知道如何动态获取这个属性值。似乎以上四个属性必须正常工作。 编辑:我找到了添加属性-Dsonar的方法。github。pullR

  • 我尝试使用Jenkins上的java项目运行声纳分析,使用标准的maven sonar:sonar goal,并使用post STEP>>Execute SonarQube Scanner。我使用的maven目标是。 对于SonarQube扫描仪,我使用了下面的maven目标 SonarQube版本-7.7声纳扫描仪版本-3.3.0 Jenkins版本-2.164.3 Maven版本-3.6.1

  • 问题内容: 我正在运行在本地工作的脚本。但是,当我在詹金斯构建过程中运行脚本时,sed无法正常工作。 这是我验证路径正确的代码。文件在那里。 我觉得这与我的语法有关。但这在本地有效,那么我可能做错了什么? 问题答案: 从sed命令中删除和的两个单引号()之间的 空格 。通常,后缀必须立即跟在选项后面,且不能有空格。

  • 问题内容: 我有一个.Jar文件,它将在运行时将数据加载到数据库中。我已经计划通过詹金斯来担任这项工作。当我在詹金斯执行作业时,它将成功运行.JAR。但是,请说作业中是否存在空指针异常,并且该异常未成功完成。即便如此,詹金斯仍然说工作已经“通过”。如果作业执行过程中出现问题,如何使作业失败? 问题答案: @Corey的解决方案很好。而且,如果您不想编写JUnit测试并在Jenkins中提供支持,则