我有一个Sonar类(class):publicclassFoo{.....muchcode....}并且Sonar报告了publicclassFoo行中覆盖的1/2分支。这是什么意思?如何测试声明类的行?编辑:以防万一,这是Sonarv3.5。编辑2:显示我的意思的屏幕截图,请注意第9行“公共(public)类”旁边的1/2。将鼠标悬停在此上方时,我会收到一条工具提示,说明“测试涵盖了1个分支”编辑#3:好的,经过更多调查,我已将范围缩小到我能找到的触发此事件的最小片段:publicclassFoo{Foo(finalStrings){assert(s!=null);}}如果构造函数
有没有办法配置Sonar或者SonarMaven插件在检测到违反特定优先级(Blocker、Critical)时使构建失败? 最佳答案 您必须在质量配置文件中定义阻止程序/严重违规次数的警报阈值(>0是您的情况)并安装构建断路器插件(Sonar2.4更新中心中的类别“集成”)。 关于java-SonarMaven插件-违反构建失败,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4
Sonar在我们的Java项目中指示这个错误。欢迎任何有关安全编程的建议!URLurl=getClass().getResource("/myWonderfulResource.txt");if(url==null){thrownewIllegalStateException("Filenotfound:/myWonderfulResource.txt");} 最佳答案 将类设为final,使其无法扩展。警告是为了防止扩展类(可能)尝试使用不存在的资源。 关于java-Sonar标志"B
不知道为什么Sonar认为下面一行可能会出现NullPointerException:if(file==null||file.listFiles()==null||file.listFiles().length==0){//etc}你们有什么想法吗? 最佳答案 扩展我的评论:仅仅因为file.listFiles()的一次调用返回非空值并不意味着下一次调用一定会成功。您通常不能依赖同一方法的两次调用(在同一对象上,使用相同的参数)来返回相同的值,并且任何返回引用类型值的方法原则上都可能返回null。经过反射(reflection),您
当我使用SonarQube5.6.5运行分析时,我在java源代码上收到以下异常。我正在使用Maven项目运行此分析:mvnsonar:sonar几乎每个jar都失败了,但它通过了superpom。我没有写任何源代码,我只是包括sonarqube插件。此错误是由于源代码还是Sonar插件引起的?Unabletocreatesymboltablefor:/Users/dagrawa/EInkReader/apps/ramp/src/com/amazon/ebook/ramp/utils/RAMPUtils.javajava.lang.IllegalArgumentException:nu
我正在尝试使用Sonar4.2分析我的JEE项目。这是一个多语言JEE项目,包含Java和JS。我添加到我的Sonar4.2的插件是:Java2.1和JavaScript1.6。最近,Sonar继doc之后,添加了多语言分析。,我从sonar-project.properties中删除了sonar.language。但它仍然只分析Java。我在Jenkins1.555中使用SonnarRunner2.3。它会在每次构建后分析项目。我错过了什么吗?编辑:sonar-project.properties:#Requiredmetadatasonar.projectKey=myProject
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion我正在从Jenkins运行Sonar。我想在Sonar报告中排除一些java文件。这可能通过Jenkins吗?如果是,我该怎么做?
我有一个Eclipse的Sonar插件,它给了我一个使这个基于值的字段成为transient的,这样它就不会包含在这个类的序列化中在LocalDateTime对象上。我不明白的是,LocalDateTime绝对是可序列化的。这是类publicfinalclassLocalDateTimeimplementsTemporal,TemporalAdjuster,ChronoLocalDateTime,Serializable{有人有什么想法吗?我只是不明白transient是什么意思吗?通常我不会太在意,但奇怪的是我能够在Get请求中序列化它,但不能在post请求中反序列化它,我想知道是否
我编写这个getter/setter以从Eclipse源菜单中列出:publicDategetDate(){returndate;}publicvoidsetDate(Datedate){this.date=date;}Sonar报告两个问题:Returnacopyof"date"&Storeacopyof"date"有解释"Mutablemembersshouldnotbestoredorreturneddirectly"和示例代码:publicString[]getStrings(){returnstrings.clone();}publicvoidsetStrings(Strin
我有几个覆盖protected方法的Hadoop映射和归约类。Sonar将这些标记为:UnusedprotectedmethodPlugin:squidKey:UnusedProtectedMethod我知道Sonar中有一个解决此问题的修复程序,并且在某个时候我的组织将使用具有该修复程序的版本。同时,我想禁用警告。我试过:@SuppressWarnings("UnusedProtectedMethod")和@SuppressWarnings("SQUID.UnusedProtectedMethod")没用。@SuppressWarnings适用于PMD问题,@edu.umd.cs.f