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