如何在SonarQube中的一种文件上使用两个不同的插件

问题描述 投票:1回答:1

我想应用声纳文本插件和声纳jproperties插件通过正则表达式扫描属性/ txt / sh / xml文件,但收到这样的错误

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1:sonar (default-cli) on project test: Language of file 'src/main/java/test.properties' can not be decided as the file matches patterns of both  sonar.lang.patterns.jproperties : **/*.properties and sonar.lang.patterns.text : **/*.properties,**/*.txt -> [Help 1]

如何避免这个问题并修复声纳的限制?

java sonarqube sonar-runner sonarqube-scan
1个回答
2
投票

你被困住了。

要使插件检查文件类型,通常将其配置为“声明”该文件扩展名(管理>常规设置> [语言]>常规>文件后缀)。但是每个文件扩展名可以由一个插件声明/声明,并且只能声明一个插件。大概是在您尝试进行此项工作时,您已配置两个插件来声明.xml文件扩展名。因此你看到的错误。

如果没有您自己的一些定制开发,那么您就不会让它发挥作用。

关于自定义开发的主题,值得注意的是Java插件会检查一些.xml文件而不声明/声明该文件扩展名。因此,如果你走这条路,你可能想看看Java插件是如何完成这个的。

但是因为具有无人认领扩展名的文件默认情况下没有编入索引(因此无法检查),因此这些Java插件规则仅适用于

  • 安装XML插件以声明.xml文件扩展名并将这些文件编入索引,因此可用于规则
  • 管理>常规>分析范围>文件>导入未知文件设置为true。 (默认为false。)

UPDATE

对扫描仪工作方式的更改意味着,如果分析器在其上引发问题,即使具有无人认领扩展名的文件现在也会编入索引。所以,例如在SonarJava引发pom.xml文件问题之前,您不再需要安装SonarXML。

© www.soinside.com 2019 - 2024. All rights reserved.