问题标签 [sonar-runner]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sonarqube - C++ 社区插件:Sonar-runner 扫描错误的文件类型 + 词法错误
我已经设置了一个声纳服务器,并试图通过设置一个测试项目来获取一些指标,但我遇到了一些问题。环境:
- 操作系统:Windows Server 2008 R2 / amd64 / 6.1
- App Server:Tomcat/7.0.40I,部署Sonar WAR文件(3.5.1)。
- 数据库:MySQL v5.6.11
(相关)插件:
- Sonar C++ Community Plugin (0.2) 该插件在 General Settings --> Sonar C++ Community Plugin 下可见
声纳-project.properties:
问题一:
运行 sonar-runner 时它会失败,因为它试图分析不相关的文件类型,如 .DOC(见下文)
当我通过将以下内容添加到 sonar-project.properties 文件中强制排除有问题的文件类型时,sonar.exclusions=**/*.doc,**/*.svc
我可以解决这个问题,但我宁愿让它按预期工作(只考虑配置的文件)
问题 2:
分析在扫描时会抛出“文件中的词法错误”错误(见下文)。我相信如果源编码不同,这可能会发生。
问题是,我已将 sourceEncoding 设置为 UTF-8,但引发错误的文件也以 UTF-8 编码(见下文):
这些可能是简单的初学者错误,但我找不到快速/简单的解决方法。你能帮我上路吗?
java - 声纳参考插件小部件未显示在仪表板中
我正在尝试通过查看声纳参考插件中的代码来创建自定义声纳插件。但是这个参考插件无法在声纳仪表板中显示小部件?.erb 文件是
delphi - 声纳delphi插件自定义规则
如何在 delphi 语言的声纳中添加自定义规则?我们的问题是我们能够在声纳中为所有其他语言(如 c#、javascript、java)添加自定义规则,但无法为 delphi 添加自定义规则,我们找不到此链接中显示的用于添加自定义的新规则选项声纳中的规则。有人请指教。
gradle - 在使用 gradle 的多项目 java 代码库上使用 sonarRunner,会跳过一个项目的类
我有一个多模块 java 代码库,我使用 gradle 的多项目支持构建。使用的 gradle 版本是 1.6。该代码用于构建 Oracle ATG 应用程序,我使用 gradle java 插件和自定义解析器来管理模块/项目与外部 ATG 模块之间的依赖关系。
构建工作正常,我可以毫无问题地编译和创建 jar。
我还使用了 gradle eclipse 插件,并且可以将 gradle 多项目导入到 eclipse 中,这导致所有子项目都被导入到 Eclipse 中,java 构建路径管理得很好。
我用的是gradle自带的sonar-runner插件,Sonar的版本是3.4.1。我正在使用 Sonar 附带的 H2 数据库。
这是我用来在根项目中配置 sonarRunner 的build.gradle
:
对于每个子项目,我这样做:
我设置了 sonar.projectName 属性,以便 Sonar 仪表板可以正确显示嵌套模块。sonar.projectName 的值如下所示:ParentModule.ChildModule.SubChildModule
。
声纳报告适用于大多数模块,除了一个。它似乎只是忽略了这个模块中的所有类。
我的项目结构是这样的(包括内部类在内的java类的数量在右边):
未能显示任何类的模块是RootProj/MyMod。
对于检测到类的项目,输出如下所示:
这是该项目的输出 SonarRunner:
如您所见,有问题的模块没有显示找到源目录的行。
我打开了 gradle 调试日志,我看到这些值被打印出来:
以上几行并非全部在一起。我刚刚粘贴了我发现有趣的值。
我的猜测是,由于RootProj.MyMod.versioned
没有任何 java 类,因此 gradle 插件或 sonar-runner 本身中的错误会导致它跳过父目录中的类 true。
所以我使用了 skipProject = true RootProj.MyMod.versioned
。这解决了问题,我看到为 RootProj.MyMod 报告的类,但 Sonar 不再尝试为确实有文件的 RootProj.MyMod.versioned.catalog 运行报告。
所以我要么丢失 343 个类的声纳报告,要么 33 个类。我两个都不选。
最后,我的问题是:有没有办法禁用仅在具有零类的项目上运行报告,而不是在其父级或子级上运行报告?
仅供参考,如果它有任何相关性,我只使用如下语法设置编译时依赖项:
依赖项由自定义解析器解析。
自定义解析器由我维护,但由于编译和 eclipse 插件工作正常,我假设它不是问题的根源。
编辑
正如 Peter Niederwieser 所提到的,Sonar runner 仅适用于叶子项目。但是必须有一种方法来配置 Gradle sonar runner 插件,将层次结构视为一个平面,以便所有项目都是叶子项目。在 sonar-runner 中,您可能会将根项目中的 sonar.modules 设置为您要分析的每个项目的名称。但是如何在 Gradle 中做到这一点?
我尝试sonar.modules
在每个项目中设置为,null
但这似乎没有任何效果。
maven - java 项目未在声纳 3.3.5 中得到分析
当我在声纳中为示例 java 项目提供 mvn sonar:sonar 时出现此错误。示例项目来自链接
我应该手动放置任何插件来分析java项目吗?
java - 根据技术显示声纳小部件
我创建了一个虚拟小部件,并在配置小部件后显示在声纳仪表板中。现在小部件显示在每个项目中。如何显示特定技术(如 objc)的小部件并为其他技术隐藏它?
sonarqube - 远程机器上的 Sonar-runner 没有选择正确的 jbdc 连接?
我在 RHEL6.2 服务器上有 sonarqube 3.5.1 和 sonar-runner 2.2.1,sonar-runner 可以很好地处理我下载的示例数据。
但是,我已将 sonar-runner 部署到 Windows 客户端,但它无法连接到 H2 数据库。
所以,我已经更新了 sonarqube 中的声纳属性
和 sonar-runner 连接到服务器
不清楚为什么它选择本地主机而不是服务器的完整 url。在进行配置更改之前启动服务时,我是否遗漏了某些内容/或者是否已嵌入此内容????
谢谢你的帮助
dd
sonarqube - 无法执行 Sonar:原因:Java 堆空间
我正在使用 Sonar Runner 2.2 和 set SONAR_RUNNER_OPTS=-Xmx8000m
,但出现以下错误:
怎么会这样?
maven - sonar-3.5.1 在声纳服务器上部署项目但代码未显示
我已将我的声纳版本从 sonar-3.2 升级到 sonar-3.5.1 并将 sonar-runner 从 sonar-runner-1.1 升级到 sonar-runner-2.2.2,现在当我在新安装的声纳 3.5.1 上部署项目时成功运行并显示 ANALYSIS SUCCESSFUL,当我在浏览器上使用 localhost:9000 时,它还会在声纳服务器上显示项目名称,但代码未显示在那里,没有违规行为等。我以两种方式使用声纳,结果相同。两种方法是: 1. 通过 cmd 中的 sonar runner 独立使用声纳。2.将声纳与Jenkins(1.515)集成并使用maven(3.0.4)
当我对声纳 3.2 进行声纳分析时,在上述两种情况下一切正常,但问题只有在我使用声纳 3.5.1 时才会出现。有人可以帮我解决这个问题吗?请提出解决此问题的可能方法..您的回复将是可观的..提前致谢!!
请参阅下面的日志
和声纳仪表板
sonarqube - 声纳多模块综合报告,用于传入和传出耦合
我有一个多模块 maven 项目,需要为跨模块的传入(ca)和传出(ce)耦合生成报告。
目前,当我为多模块项目运行 mvn sonar:sonar 时,ca 和 ce 在模块级别报告。这只是让我了解同一模块中的其他类如何引用特定类。
我有兴趣了解跨多个模块的 ca 和 ce。
使用多模块配置的声纳是否可行。
目前为了克服这个限制,我必须将所有模块中的源代码和类复制到一个文件夹中,然后运行声纳报告。
什么是正确的做法。声纳中是否有任何配置可以提供帮助?