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

如何在Java质量概要中关闭Findbugs JaCoCo Checkstyle PMD?

寿意远
2023-03-14

刚开始为配置为“开箱即用”的Java项目评估SonarQube 3.7.2,
分析是从Ant触发的。
所有工作都很好,但在一个大项目中,我遇到了OutOfMemory异常,即使是-xmx1024m
SonarQube附带了一个结合了Findbugs、JaCoCo、Checkstyle和pmd的Java质量配置文件。在quality Profiles>Java Profiles下找不到任何关闭其中一个的设置,只有一个类名模式的筛选器。
是否有可能关闭这些工具,或者我必须实现自己的Java质量规则?
--Edit--
即使使用了SonarQube联机实例的Java质量规则中的通用规则-意味着只有10条规则-我得到OutOfMemory异常。看起来像FindBugs和JaCoCo在异常发生之前运行。如何运行F.E.仅FindBugs?
如何完全禁用其中一个插件??从stacktrace提取:

[sonar:sonar] 12:57:42.689 INFO - Execute Findbugs 2.0.1 done: 888614 ms
[sonar:sonar] 12:57:42.689 INFO - Sensor FindbugsSensor done: 888614 ms
[sonar:sonar] 12:57:42.689 INFO - Sensor InitialOpenIssuesSensor...
[sonar:sonar] 12:57:51.110 INFO - Sensor InitialOpenIssuesSensor done: 8421 ms
[sonar:sonar] 12:57:51.110 INFO - Sensor ProfileSensor...
[sonar:sonar] 12:57:51.189 INFO - Sensor ProfileSensor done: 79 ms
[sonar:sonar] 12:57:51.189 INFO - Sensor ProfileEventsSensor...
[sonar:sonar] 12:57:51.235 INFO - Sensor ProfileEventsSensor done: 46 ms
[sonar:sonar] 12:57:51.235 INFO - Sensor ProjectLinksSensor...
[sonar:sonar] 12:57:51.329 INFO - Sensor ProjectLinksSensor done: 94 ms
[sonar:sonar] 12:57:51.329 INFO - Sensor VersionEventsSensor...
[sonar:sonar] 12:57:51.360 INFO - Sensor VersionEventsSensor done: 31 ms
[sonar:sonar] 12:57:51.360 INFO - Sensor JaCoCoSensor...
[sonar:sonar] 12:57:51.360 INFO - Project coverage is set to 0% as no JaCoCo execution data has been dumped: C:\SCM_BUILD_Sync\scripts\test\target\jacoco.exec
[sonar:sonar] 12:57:58.376 WARN - Coverage information was not collected. Perhaps you forget to include debug information into compiled classes?
[sonar:sonar] 12:57:58.376 INFO - Sensor JaCoCoSensor done: 7016 ms
[sonar:sonar] 12:58:02.110 INFO - Execute decorators...
[sonar:sonar] 13:14:48.597 WARN - [JOURNAL_FLUSHER] WARNING Journal flush operation took 2.101ms last 8 cycles average is 262ms

 ...

Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.<init>(HashMap.java:283)
at java.util.HashMap.<init>(HashMap.java:305)
at com.google.common.collect.HashMultiset.<init>(HashMultiset.java:72)
at com.google.common.collect.HashMultiset.create(HashMultiset.java:42)
at org.sonar.plugins.qi.AbstractViolationsDecorator.countViolationsByPriority(AbstractViolationsDecorator.java:108)
at org.sonar.plugins.qi.AbstractViolationsDecorator.decorate(AbstractViolationsDecorator.java:92)
at org.sonar.batch.phases.DecoratorsExecutor.executeDecorator(DecoratorsExecutor.java:81)
at org.sonar.batch.phases.DecoratorsExecutor.decorateResource(DecoratorsExecutor.java:72)
at org.sonar.batch.phases.DecoratorsExecutor.decorateResource(DecoratorsExecutor.java:65)
at org.sonar.batch.phases.DecoratorsExecutor.decorateResource(DecoratorsExecutor.java:65)
at org.sonar.batch.phases.DecoratorsExecutor.decorateResource(DecoratorsExecutor.java:65)
at org.sonar.batch.phases.DecoratorsExecutor.decorateResource(DecoratorsExecutor.java:65)
at org.sonar.batch.phases.DecoratorsExecutor.execute(DecoratorsExecutor.java:57)
at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:118)
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:142)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:187)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:182)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:175)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57)
at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45)
at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:156)
at org.sonar.batch.bootstrap.BootstrapContainer.doAfterStart(BootstrapContainer.java:144)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92)

共有1个答案

许招
2023-03-14

只需在质量配置文件中停用这些工具中的所有规则。参见http://docs.codehaus.org/display/sonar/quality+profiles

如果您想对所有项目禁用Findbugs,可以删除该插件。请参阅http://docs.codehaus.org/display/sonar/update+center或从sonarqube_home/extensions/plugins中手动删除它并重新启动服务器。

 类似资料:
  • 如何在Java中将drawString的文本居中?我希望它可以沿着屏幕动态居中,无论我改变框的高度和宽度与否。我发现了这个codeign我不知道怎么用它。有人能解释一下吗?

  • 问题内容: 只是想编辑一些代码,以使输出jpg质量不是默认的低质量设置, .....当前正在使用。 我看过其他一些设置质量的Java示例,但对Java不太熟悉,我在理解如何插入东西和重做一些示例方面遇到了麻烦,这些示例在使用Java设置图像质量方面已经见过。 这是我要开始工作的代码........ 问题答案: 终于用这段代码做到了…

  • 输出:pool-2=线程-1 pool-3=线程-1,pool-4=线程-1............. 我想要池-2=线程-1池-2=线程-1池-2=线程-1................ Threadpool不能从method()放到外部,每次都需要创建新的Threadpool。我可以完全终止线程池吗? 有什么需要帮忙的吗

  • 买支笔 示例输入 5d10 7 10d6*1d3 所以我试着跟着 但显然这只适用于单个输入,例如5d7。我到底做错了什么

  • 我在做一个项目。我用JAVA(.exec())抓取了PowerShell版本。 它显示,但我想打印唯一的版本,这是一个在底部。我怎么能那么做? 以下内容的代码块:

  • 问题内容: 这是一个简短的问题。在某些时候,我的线程知道应该自杀。最好的方法是什么: Thread.currentThread()。interrupt(); 返回; 顺便说一句,为什么在第一种情况下我们需要使用?是不是指当前线程? 问题答案: 如果要终止 线程 ,则只需返回即可。您不需要调用(尽管它不会做任何坏事。只是您不需要这样做。)这是因为基本上是用来通知线程所有者的(不是,不是100%准确,