草庐IT

SonarQube7

全部标签

java - SonarQube:java构造函数枚举中是否应该允许魔数(Magic Number)

关于规则鱿鱼:不应使用S109魔数(MagicNumber)Java中枚举的构造函数中不应该允许有数字吗?在我看来,下面的代码不应该违反规则。publicenumColor{RED(42),GREEN(123456),BLUE(666);publicfinalintcode;Color(intcolorCode){this.code=colorCode;}}我正在使用Sonarjava插件版本3.3 最佳答案 3.4版本会修复在SonarSource上查看此问题:http://jira.sonarsource.com/browse/

java - SonarQube 不对根项目应用分析

我只需要分析根项目,忽略嵌套的子模块,但是它d所以我有这个层次结构:ProjectMain-src-subProjectAngularsettings.gradle我的配置settings.gradlerootProject.name="ProjectMain"include'subProjectAngular'我只需要分析根项目,忽略嵌套的子模块,但我得到了:Amulti-moduleprojectcan'thavesourcefolders,so'C:\Users\vagrant\develop-2\site\Source\Site\Vessels\src\main\java'wo

java - SonarQube Java Analyser,规则 S2183,我为什么要删除这个无用的移位?

我写过:publicstaticfinalintMY_GREAT_COLOR=(91Sonar说:New:Squid:S2183Severity:CRITICAL,Message:Removethisuselessshift谁能告诉我为什么?这是否只是不应该对文字进行计算的事实,即使它增加了可读性? 最佳答案 我猜255是你的alphachannel,在那种情况下我猜你想要255.SonarQube不知道您的意图,但正如Toby所说,它有一个有效的观点。至于可读性,您也可以尝试使用六边形代码(例如0xFF5B9BD5),许多开发人员

java - 在 SonarQube 中使用 Spring 构造函数注入(inject)

我有一段带有字段注入(inject)的代码,我正试图将其转换为使用构造函数注入(inject)。初始代码如下所示:@AutowiredprivateEnvironmentenv;@AutowiredprivateYYYAdaptoryyyAdaptor;@AutowiredprivateJAXBContextjaxbContext;这就是我重写它的方式:privateEnvironmentenv;privateYYYAdaptoryyyAdaptor;privateJAXBContextjaxbContext;@AutowiredpublicYYYResource(Environmen

java - 如何在 SonarQube 中抑制警告 'Source files should not have any duplicated blocks'?

我正在使用SonarQube5.4并调查几个问题的抑制。我发现一旦我插入@SuppressWarnings("common-java:DuplicatedBlocks"),SonarQube就没有检测到抑制规则Sourcefilesshouldnothaveanyduplicatedblocks在文件的开头(文件无法编译)或在其中一个重复代码块的标记处。我在http://docs.sonarqube.org/display/PLUG/Java+FAQ找到了信息声明如下:The//NOSONARtagisusefultodeactivateallrulesatagivenlinebuti

java - 如何为使用 sonarqube-5.4 和 maven 报告的问题生成 html 报告?

我已经检查了链接:sonarqubeissuesreport,但不清楚如何在Maven构建期间实现它。 最佳答案 如文档所述,问题报告插件与5.1及更高版本不兼容。SonarLintforCommand-Line应该用来获得相同的功能。使用Maven启用很简单:mvnsonar:sonar-Dsonar.analysis.mode=preview-Dsonar.issuesReport.html.enable=true生成的HTML报告的路径显示在日志中:[INFO]HTMLIssuesReportgenerated:/xxx/ta

java - SonarQube Java版用于验证代码

我如何知道针对哪个版本的JavaSonarQube验证代码?是JVM的版本吗?如果我的项目基于不同的版本怎么办? 最佳答案 默认值为1.5。要设置合适的版本,需要设置sonar.java.source属性(property)告知PMD您的源代码符合哪个版本的Java。可能的值:1.4、1.5或5、1.6或6、1.7或7。从插件的2.2版本开始,此属性也可以设置为1.8或8。如果您使用的是ant任务,只需添加:如果您使用的是SonarRunner,只需将以下行添加到文件/conf/sonar-runner.properties:son

java - SonarQube + Reports 中未显示的依赖模块中的聚合覆盖率或覆盖率由 Jacoco 生成

我正在运行jacoco插件来生成html、xml和jacoco.exec报告来衡量由我的testNg测试的代码的覆盖率测试。我在本地和Jenkins中成功生成了这些报告,我所有的单元测试结果都反射(reflect)在Sonar中,它向我展示了覆盖范围.我的jacoco.exec有模块和依赖模块的覆盖结果。我已经使用eclipse的eclemma插件验证了这一点。我没有在Sonar的依赖模块中获得覆盖结果。我做错了什么。我的插件是这样的org.jacocojacoco-maven-plugin0.7.7.201606060606prepare-agentreportprepare-pac

java - Jenkins:作业页面的侧栏中缺少 SonarQube 链接

过去,我通过执行“添加构建后操作->SonarQube”在Jenkins中配置Sonar。现在,当我这样做时,我收到了这个警告:ItisnolongerrecommendedtouseSonarQubemavenbuilder.ItispreferabletosetupSonarQubeinthebuildenvironmentanduseastandardJenkinsmaventarget.为了解决这个问题,我使用了这个Maven插件org.sonarsource.scanner.mavensonar-maven-plugin3.0.1在Jenkins的工作中,我执行以下目标-Uc

java - SonarQube 误报鱿鱼 :S1450 for @Getter (lombok) annotated fields

我想我在使用@Getter时发现了误报来自ProjectLombok的注释.在下面的示例类中,我收到警告“仅用作方法中的局部变量的私有(private)字段应成为局部变量”(squid:S1450)。publicclassExample{@GetterprivateStringexampleField;//有人可以证实吗?是SonarQube规则中的错误还是我的类(class)或我对该规则或@Getter注释的理解有问题?为了完整起见:项目lombok注释或生成的方法在其他SonarQube规则中被正确识别。所以我认为我的设置很好。我还尝试将@Getter注释放在类级别,但我收到了同样