sonarqube 4.5错误地将cpp模块识别为c-如何修复它

sonarqube 4.5错误地将cpp模块识别为c-如何修复它,sonarqube,sonarqube-4.5,Sonarqube,Sonarqube 4.5,我用一个sonar-project.properties创建了一个多模块项目。该项目大部分在C,但一个模块是C++。我将sonar.language属性留空,并运行sonar runner进行分析 项目和模块是在数据库中创建的,所有的东西看起来都很好,但是当我对同一代码做了预览时,我在C++项目上有了大量新的问题。 仔细检查后,我发现sonarqube中的模块都错了——它只包含头文件.h,大多数问题都是使用C风格的注释。似乎该模块被标识为C模块,因此忽略了所有.cpp文件。但是,在预览中正确识别

我用一个sonar-project.properties创建了一个多模块项目。该项目大部分在C,但一个模块是C++。我将sonar.language属性留空,并运行sonar runner进行分析

项目和模块是在数据库中创建的,所有的东西看起来都很好,但是当我对同一代码做了预览时,我在C++项目上有了大量新的问题。 仔细检查后,我发现sonarqube中的模块都错了——它只包含头文件.h,大多数问题都是使用C风格的注释。似乎该模块被标识为C模块,因此忽略了所有.cpp文件。但是,在预览中正确识别了该语言,并且在.cpp文件中发现了明显未知的问题

我在UI中找不到任何地方可以更改模块的语言,也无法在sonar-project.profiles中找到强制更改模块语言的方法。 首先,sonar.language显然已被弃用,其次,使用module.sonar.language=cpp导致错误:

原因:sonar.profile被设置为“DEFAULT_C”,但与任何语言的任何配置文件都不匹配。请检查您的配置

DEFAULT_C是我们通常用于项目的东西,但不是我正在处理的那个。我通过UI为不同的语言设置了不同的配置文件,但是如果我无法通过分析查看正确的语言,这对我没有多大帮助


有人知道我如何在事后强制使用模块的语言吗?

嗯。我考虑过删除这个,但如果我在stackoverflow上找到答案,我的痛苦会减轻一点

蛮力起作用。 只需为moudle设置您想要的语言和配置文件,并忽略对这些东西被弃用的抱怨。选择一种语言不会强制使用正确的配置文件,即使您已经在UI中为该语言设置了显式配置文件——所以只需在sonar-project.properties文件中声明即可。 就我而言: module.sonar.language=cpp module.sonar.profile=MY\u CPP\u profile

把sonar runner扔到那里,它会把后端打成一个形状