标签: spotbugs

在全球范围内抑制 Spotbugs 警告

我收到了来自 Spotbugs 的警告。所有这些文件中的 @SuppressFBWarnings 都会抑制这种情况。我需要找到一种方法来从一个地方抑制这种情况,这样我就不必在该包中的每个文件中@SuppressFBWarnings。

java spotbugs

3
推荐指数
1
解决办法
4284
查看次数

Spotbugs + Java:可以通过将外部可变对象存储到 QuestionPojo.map 来公开内部表示

关于 Spotbug 发现的小问题,我很难修复。

在这个超级简单的 POJO 上:

import java.util.Map;

public class QuestionPojo {

    private final Map<String, String> map;

    public QuestionPojo(Map<String, String> map) {
        this.map = map;
    }

    public Map<String, String> getMap() {
        return map;
    }

    @Override
    public String toString() {
        return "QuestionPojo{" +
                "map=" + map +
                '}';
    }
    
}
Run Code Online (Sandbox Code Playgroud)

map我收到了旗帜may expose internal representation by storing an externally mutable object into QuestionPojo.map

一次上this.map = map;

另一张关于吸气剂return map

我尝试调用一个可能的clone()方法,但似乎 Map 不支持它。

请问我该如何解决这个问题?

谢谢

java findbugs spotbugs

3
推荐指数
1
解决办法
9981
查看次数

如何通过Maven运行Spotbug?

这是我的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0   
 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion> 

     <groupId>de.stackoverflow.test</groupId>
     <artifactId>HelloWorld</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging> 
     <name>HelloWorld</name> 

     <dependencies>   
             <dependency>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-annotations</artifactId>
                <version>3.1.0-RC5</version>
                <optional>true</optional>
            </dependency>
     </dependencies>

     <build>        
        <plugins>
           <plugin>
           <groupId>com.github.hazendaz.spotbugs</groupId>
           <artifactId>spotbugs-maven-plugin</artifactId>
           <version>3.0.6</version>
           <dependencies>

           <dependency>
           <groupId>com.github.spotbugs</groupId>
           <artifactId>spotbugs</artifactId>
           <version>3.1.0-RC5</version>
           </dependency>
           </dependencies>
           </plugin>
        </plugins>
     </build>
Run Code Online (Sandbox Code Playgroud)

mvn compilemvn package并且mvn site运行没有任何问题。建立成功。 该项目由单个HelloWorld.java组成,其中包含一些错误。

mvn site没有显示任何错误或错误。如何获得Spotbug来扫描我的代码?

java continuous-integration maven spotbugs

2
推荐指数
2
解决办法
2753
查看次数

Kotlin迭代

给定此类:

data class CSVRecord(private val columns: SortedSet<CSVColumn>) : Iterable<String> {

    override fun iterator(): Iterator<String> {
        return columns.map { it.value }.iterator()
    }
}
Run Code Online (Sandbox Code Playgroud)

spotbugs引发错误:

[错误]从Collection到com.example.CSVRecord.iterator()中抽象类java.util.List的可疑转换。[com.example.CSVRecord]在CSVRecord.kt:[第15行] BC_BAD_CAST_TO_ABSTRACT_COLLECTION

这仅仅是因为Spotbugs不支持Kotlin,还是我的实现可能无效?

kotlin spotbugs

2
推荐指数
1
解决办法
557
查看次数

Gradle Spotbug 插件

我是 Gradle 新手,正在尝试为我的 Spring Boot 多模块项目配置 Spotbugs。

在我的父母 build.gradle 中,

buildscript {
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:${versionSpringBoot}"
    }
}

plugins {
  id 'com.github.spotbugs' version '1.6.8'
}

allprojects {
    apply plugin: 'eclipse'
    apply plugin: 'idea'
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'io.spring.dependency-management'
    apply plugin: 'pmd'
    apply plugin: 'jacoco'

    dependencyManagement {
        imports {
            
        }
    }

    configurations{
    }

    sourceCompatibility = '15'
    targetCompatibility = '15'

    dependencies {
    }

    pmd {
        consoleOutput = true
        toolVersion = "${versionPmd}"
        sourceSets = [sourceSets.main]
        ruleSets = ["category/java/errorprone.xml", "category/java/bestpractices.xml"] …
Run Code Online (Sandbox Code Playgroud)

gradle spotbugs

2
推荐指数
1
解决办法
5266
查看次数

FindBugs/SpotBugs:过滤器:DTO 或 XML 架构

简而言之:是否有用于 FindBugs/SpotBugs 过滤器文件的官方 DTD 或 XML 模式?

详细说明:在 FindBugs/SpotBugs 中,可以定义过滤器文件,它们是 XML 文件。我的 IDE 抱怨缺少 DTD 或 XML 架构,这很好。我知道如何抑制此警告,但我更喜欢添加正确的语法文件。因此,FindBugs/SpotBugs 过滤器文件是否提供了 DTD 或 XML Schema?我找不到一个。

xml findbugs spotbugs

1
推荐指数
1
解决办法
635
查看次数

如何在 Gradle 中抑制 Spotbugs 堆栈跟踪?

我正在 Gradle 项目中设置 Spotbugs,但当我运行它时,Spotbugs 确实会生成输出报告,但会将失败堆栈跟踪记录到控制台。我想知道是否有办法抑制它。

这是我的 Gradle 文件:

buildscript {
    buildscript {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
            jcenter()
        }
        dependencies {
            classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.0.5"
        }
    }
}

apply plugin: 'java'
apply plugin: "com.github.spotbugs"

group 'com.mridang'
version '1.1.0'

sourceCompatibility = 1.9

repositories {
    google()
    mavenCentral()
    jcenter()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

spotbugs {
    toolVersion = '4.0.2'
    ignoreFailures = true
}

spotbugsMain {
    ignoreFailures = true
}

spotbugsTest {
    ignoreFailures = true
}
Run Code Online (Sandbox Code Playgroud)

当我运行 Gradle 时,出现以下错误:

> …
Run Code Online (Sandbox Code Playgroud)

java gradle spotbugs

0
推荐指数
1
解决办法
7223
查看次数

标签 统计

spotbugs ×7

java ×4

findbugs ×2

gradle ×2

continuous-integration ×1

kotlin ×1

maven ×1

xml ×1