作者:chen-yu2502881617 | 来源:互联网 | 2023-02-01 19:53
我们的声纳构建环境详情如下:
SonarQube服务器版本 - 5.6.6(64位).
Sonar客户端构建操作系统 - Windows-7(64位).
声纳扫描仪 - 版本 - 3.0.3.778.
声纳CXX-插件-0.9.7.jar
sonar-csharp-plugin版本-5.11.0.1761.
声纳的目标c-插件-0.5.0-SNAPSHOT.jar
源代码语言:C#和C++
我们的SonarQube服务器是集中式服务器,所以安装了(cxx-plugin,objective-c-plugin和csharp-plugin)
当前问题:
当我们扫描代码时,如果失败,则出现以下错误.由于我们有多种语言(C#和C++)代码,因此必须一次扫描该语言.
ERROR: Caused by: Language of file 'workspace/HS30/baseclasses/ametex.h' can not be decided as the file matches patterns of both sonar.lang.patterns.c++ : **/*.cxx,**/*.cpp,**/*.cc,**/*.c,**/*.hxx,**/*.hpp,**/*.hh,**/*.h and sonar.lang.patterns.objectivec : **/*.h,**/*.m
sonar.language = cs,c ++(试过但没用)
所以请帮助我们解决同样的问题.
1> G. Ann - Son..:
这是哪个语言"声明" .h
文件的问题.只有一种语言可以声明任何给定的文件扩展名,并且目前您有两种语言声称.h
,因此扫描程序无法确定将这些文件提供给哪个分析器并放弃.
具体来说,从您的错误消息:
the file matches patterns of both sonar.lang.patterns.c++ : **/*.cxx,**/*.cpp,**/*.cc,**/*.c,**/*.hxx,**/*.hpp,**/*.hh,**/*.h and sonar.lang.patterns.objectivec : **/*.h,**/*.m
你有两个cxx
并objectivec
声称.h
.您必须从这两个列表中的一个删除扩展名.
转到(全局)管理> [语言]> [语言]文件后缀,以编辑每种语言声明的扩展名,并.h
从一种或两种语言中删除.
确保不要将这些字段留空.如果留空,将使用默认值(包括.h
).