我下载并安装了UMD 的 FindBugs 3.0 http://findbugs.sourceforge.net/downloads.html in /usr/local/share/findbugs-3.0
:
$ ls /usr/local/share/findbugs-3.0/
FindBugs.jar
我有一个小脚本来运行它:
$ cat ./findbugs
FINDBUGS_HOME=/usr/local/share/findbugs-3.0
java -jar $FINDBUGS_HOME/FindBugs.jar $*
运行脚本的结果是:
$ ./findbugs
Error: Could not find or load main class edu.umd.cs.findbugs.bluej.FindBugsExtension
倾倒JAR:
$ jar tf /usr/local/share/findbugs-3.0/FindBugs.jar | grep "edu/umd/cs/findbugs/bluej/F"
edu/umd/cs/findbugs/bluej/FindBugsCompileListener.class
edu/umd/cs/findbugs/bluej/FindBugsExtension.class
edu/umd/cs/findbugs/bluej/FindBugsPreferences.class
好像有课。我不知道如何继续,因为java -jar ...
通常有效。还有FindBug 文档 http://findbugs.sourceforge.net/manual/running.html告诉我跑java -jar $FINDBUGS_HOME/findbugs.jar
“无法找到或加载主类”是什么意思? https://stackoverflow.com/q/18093928/608639很好,但我想我正在做问题告诉我要检查的所有事情。
我没有源代码,也没有构建 JAR(我使用的是提供的 JAR),所以这似乎不适用:无法使用 Jar 文件找到或加载主类 https://stackoverflow.com/q/13030675/608639。我确实尝试过跑步java -cp $FINDBUGS_HOME/FindBugs.jar edu.umd.cs.findbugs.bluej.FindBugsExtension
正如所建议的,但它会导致同样的错误。我确实验证了破折号(-
)根据麦克斯的回答是正确的。
我也尝试过一些旋钮转动,比如移除export CLASSPATH
,删除周围的引号$FINDBUGS_HOME/FindBugs.jar
并删除$*
来自命令,但他们没有提供帮助。
这里似乎有什么问题?如何让java在运行时查找/加载类findbugs
?
可能相关:OS X 10.8.5,已完全修补。
$ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)