linux 如何从命令行运行spotbug?

pu82cl6c  于 2022-11-28  发布在  Linux
关注(0)|答案(1)|浏览(409)

有一个需要从命令行执行spotbugs,我已经从谷歌搜索得到了一些信息,但我遇到了一些问题。有人请帮助我提供一个例子,让它工作。我正在运行spotbugs,但用法说,我需要使用findbugs,我感到困惑。
我正在使用:SPOTBUGS版本4.7.2
正在使用的命令:请输入以下代码:

以下错误:

Unexpected problem occured during version sanity check
    Reported exception:
    java.lang.AbstractMethodError: 
    org.apache.logging.slf4j.SLF4JServiceProvider.getRequestedApiVersion()Ljava/lang/String;
    at org.slf4j.LoggerFactory.versionSanityCheck(LoggerFactory.java:297)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:141)
    at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:421)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:407)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:356)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:382)
    at edu.umd.cs.findbugs.CheckBcel.<clinit>(CheckBcel.java:40)
    at edu.umd.cs.findbugs.LaunchAppropriateUI.launch(LaunchAppropriateUI.java:99)
    at edu.umd.cs.findbugs.LaunchAppropriateUI.main(LaunchAppropriateUI.java:198)
    Sep 07, 2022 11:11:22 AM edu.umd.cs.findbugs.FindBugs processCommandLine
    WARNING: No files to be analyzed
    Sep 07, 2022 11:11:22 AM edu.umd.cs.findbugs.FindBugs showSynopsis
    WARNING: Usage: findbugs [general options] -textui [command line options...] 
    [jar/zip/class files, directories...]
dy1byipe

dy1byipe1#

我认为您只是忘记告诉SpotBugs您的类文件在哪里:在你的命令中使用“-sourcepath /tmp/Program”,你可以告诉SpotBugs你的源文件在哪里,但是SpotBugs是对Java字节码进行操作的。所以你必须考虑“[jar/zip/class files,directories...]",参见错误消息的最后一行。
FindBugs:不要被引导到花园小径上。FindBugs是SpotBugs的前身,在SpotBugs项目中还有很多FindBugs的代码。当你有SpotBugs时,你不需要FindBugs...

相关问题