wam_3000 2024-06-14 19:34 采纳率: 6.7%
浏览 17

mvn findbugs命令总是报错

目前我想在CICD上跑FindBugs,执行:mvn findbugs:findbugs 命令总是报错,项目已经编译成功了
我的pom.xml的配置如下:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>        
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.5</version>
                <configuration>
                    <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
                    <effort>Default</effort>
                    <findbugsXmlOutput>true</findbugsXmlOutput>
                    <xmlOutput>true</xmlOutput>
                    <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.5</version>
                <configuration>
                    <xmlOutput>true</xmlOutput>
                    <findbugsXmlOutput>true</findbugsXmlOutput>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

报错信息如下:

img

img

img

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-14 19:34
    关注

    引自免费微信小程序:皆我百晓生

    从你提供的错误日志来看,主要的问题在于FindBugs插件在分析类文件时遇到了IllegalArgumentException异常,这通常是因为类文件格式不正确或者是FindBugs插件与使用的Java版本不兼容导致的。

    解决这个问题有以下几个步骤可以尝试:

    1. 确认Java版本与FindBugs插件兼容性

    确保你的项目使用的是FindBugs支持的Java版本。FindBugs 3.0.5应该支持Java 8及以下版本。如果你的项目使用的是Java 11或更高版本,可能需要升级FindBugs插件到最新版本,因为FindBugs 3.0.5并不一定支持最新的Java特性。

    2. 更新FindBugs插件

    尝试将FindBugs插件更新到最新版本,例如3.0.5可能不是最新版本。在你的pom.xml中修改为:

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>最新版本号</version> <!-- 例如3.0.6 -->
        <!-- 其他配置 -->
    </plugin>
    

    然后检查Maven仓库是否有这个版本的插件,如果没有,可能需要添加额外的仓库源。

    3. 清理并重新构建项目

    执行mvn clean install,确保所有依赖都正确下载并且项目编译无误。

    4. 检查类路径

    错误日志中提到的一些类,如org/springframework/context/ConfigurableApplicationContext,表明Spring框架相关的类可能存在问题。确认所有依赖的JAR包都是正确的版本,并且没有冲突。

    5. 配置FindBugs插件

    在你的<configuration>部分,添加sourceEncoding属性以确保编码正确:

    <configuration>
        <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
        <effort>Default</effort>
        <findbugsXmlOutput>true</findbugsXmlOutput>
        <xmlOutput>true</xmlOutput>
        <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
        <sourceEncoding>UTF-8</sourceEncoding>
    </configuration>
    

    6. 使用debug模式运行Maven

    如果上述方法都无法解决问题,可以使用-X参数运行Maven以获取更详细的日志输出,这有助于进一步诊断问题所在。

    如果问题仍然存在,考虑查看FindBugs的官方文档或相关社区论坛,寻找类似问题的解决方案。同时,检查你的项目是否有使用一些FindBugs不支持的Java特性或库。

    通过以上步骤,你应该能够定位并解决FindBugs插件在项目中遇到的问题。如果还有其他具体的技术难题,欢迎继续提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月14日