类存在于JAR中,但仍然无法找到或加载主类"

时间:2015-01-14 20:33:08

标签: java class jar main findbugs

我在/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)

0 个答案:

没有答案