1

我正在尝试在 linux 中运行一个简单的 java 程序,但得到一个NoClassDeffoundError.

基本上,我有以下文件夹结构:

lib/myRef.jar
src/MyTest.java //there are classes that being referenced in myRef.jar

我这样编译:

javac -cp ../lib/myRef.jar MyTest.java //The class file is being gerenated in the same directory

然后当我尝试运行时:

java -classpath . myRef

我得到了NoClassDefFoundError我在 jar 文件中引用的类。

我是否需要同时引用lib和我正在运行的当前类?

4

1 回答 1

3

是的,使用 java 运行代码时,您还需要在类路径中包含myRef.jar。此外,您似乎将错误的类名传递给 java,如果您想将您的类MyTest作为主类运行,请使用:

java -classpath ../lib/myRef.jar:. MyTest

仅针对您使用的支持类进行编译是不够的,当您运行程序时,它们还需要位于类路径中。

于 2012-08-31T20:52:45.013 回答