我在我的Java项目中使用SonarQube,并希望尽可能地从我们的代码中消除代码重复。我的问题是SonarQube的代码重复检测没有考虑方法边界。它将文件的相同部分列为重复项,并且经常发生重复项从一个方法的中间开始并在另一个方法的中间结束。这些很难重构。这是一个example.点击右上方列表框MavenArtifactRepository.java文件,查看页面下方第4个复制block。有没有什么方法可以参数化代码重复检测器插件以显示重复,这些重复在语法上是一致的? 最佳答案 目前您无法通过配置SonarQube本身来实现。但是,
我在使用SonarQube时遇到问题,我的几个单元测试出现了问题,提示了以下问题:Addatleastoneassertiontothistestcase.每个测试用例都类似于这种格式(其中许多断言被委托(delegate)给具有公共(public)断言的方法,以避免重复):@TestpublicvoidcompanyNameOneTooLong()throwsException{AddressFormBeanformBean=getValidBean();formBean.setCompanyNameOne("123456789012345678901234567890123456"
这似乎是“条件执行的block应该是可访问的”规则误报的新示例(squid:S2583)。有谁知道为什么SonarQube声称if(this.x==0)在以下Java类中总是求值为false?publicclassMyClass{privatelongx;voidsetX(longx){this.x=x;}publicvoiddecrementX(){if(this.x>0){this.x--;if(this.x==0){//很明显,变量x可以设置为1,然后decrementX()将进入那个确切的条件:@TestpublicvoidtestDecrement(){MyClassc=ne
我有一个由多个模块组成的项目。我正在尝试使用SonarQube分析这些。我已将SonarMaven插件作为依赖项包含在每个模块中:org.codehaus.sonarsonar-maven-plugin5.1然后我使用以下方法运行Maven:mvncleanverifysonar:sonarMaven成功完成,我可以看到Sonar分析正在进行,但是当我打开SonarUI时,模块在项目中不可见。然而...如果我从单个模块目录运行Maven命令,它在项目中是可见的。感觉我遗漏了一些非常简单的东西,感谢任何帮助! 最佳答案 不是作为依赖项
昨天我在VisualStudioTeamService上开始了一个新的虚幻引擎项目,我决定自学视频游戏编程的艺术。无论如何,我想在这个项目中使用的最好的事情是将SonarQube集成到VisualStudio中并从中获取报告(我已经在大学使用过它,它对我来说真的很有用),但我遇到了一些奇怪的问题:首先,我想在我的本地PC上运行analisys,问题是今天我运行了bat,但我遇到了这个问题,我已经在某个地方检查过这个问题,但我相信这不是%JAVA_HOME%变量。WrapperStartedasConsoleLaunchingaJVM...UnabletoexecuteJavacomma
嗨,我很长一段时间以来面临这个问题。我没有任何帮助,所以我试图再次重新发布它,这是我的旧问题建立成功后,无法在Sonarqube服务器中看到Sonarqube分析。了解更多信息IamusingMSSQLshareddatabaseformysonarqube.我没有任何错误日志来弄清楚我的问题。但是,当我取出数据库并使用嵌入式数据库进行运行时,运行良好。但是,当我通过配置MSSQL数据库运行时,我会有间歇性分析故障。我的环境是Linux的Sonarqube5.6,数据库MSSQL14。谢谢你的帮助..看答案我使用了另一个有助于解决问题的数据库。当我发现这个问题时,我尝试使用嵌入式数据库进行分析
假设我有一个Fraction类:classFraction{.../**Invertcurrentfraction*/publicFractioninverse(){returnnewFraction(den,num);}...}这就是上述方法的字节码:0new#13dup4aload_05getfield#168aload_09getfield#1412invokespecial#27>15areturn我试图理解为什么位置3的指令首先放在那里。我想说我们只需要执行以下操作即可使其工作:new#1aload_0getfield#16aload_0getfield#14invokesp
有没有办法用特定的jdk启动SonarQube服务器(3.7.4版)?我的情况:我的java-home设置为jdk1.8,但SonarQube服务器在1.8中存在一些已知问题。所以我想用jdk1.7启动服务器(不将我的java-home设置为1.7)。我在bat文件中找不到任何内容。操作系统:Windows7;SonarQube服务器版本:3.7.4 最佳答案 您必须编辑/conf/wrapper.conf文件并更新wrapper.java.command属性指向你想要的JDK。一切都记录在这个wrapper.conf中文件。
sonarqube错误地报告以下(简化)源PreparedStatement没有参数。(鱿鱼:S2695):publicstaticfinalStringUPDATE_QUERY="UPDATETABLESETCOL1=?WHEREPK=?";privatePreparedStatementpreparedStatement=null;publicvoidupdateMethod(Datedate,Longpk){if(preparedStatement==null){//ConnectionServiceisnotaConnection!preparedStatement=Conne
包有以下package-info.java:@ParametersAreNonnullByDefaultpackagefoo;importjavax.annotation.ParametersAreNonnullByDefault;类有以下方法:privatestaticStringtoIsoString(@NullableInstantdateTime){returndateTime==null?null:dateTime.toString();}SonarQube(版本6.2,SonarJava4.14.0.11784)发出以下警告(鱿鱼:S2583):我怎样才能让SonarQub