我在/usr/local/share/findbugs-3.0
中下载并安装了UMD's 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 docs告诉我运行java -jar $FINDBUGS_HOME/findbugs.jar
What does “Could not find or load main class” mean?很好,但我想我正在做的所有问题都告诉我要检查。
我没有资源并且没有构建JAR(我使用提供的JAR),所以这似乎不适用:Could not find or load main class with a Jar File。我按照建议尝试使用java -cp $FINDBUGS_HOME/FindBugs.jar edu.umd.cs.findbugs.bluej.FindBugsExtension
运行,但它会导致相同的错误。我确实根据Max的答案验证了短划线(-
)是正确的。
我还尝试了一些旋钮转动,例如移除export CLASSPATH
,移除$FINDBUGS_HOME/FindBugs.jar
周围的引号并从命令中移除$*
,但它们没有帮助。
这里似乎有什么麻烦?运行findbugs
时如何让java查找/加载类?
可能相关: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)