在linux中运行时NoClassDefFoundError

时间:2012-08-31 20:51:40

标签: java classpath

我正在尝试在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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

对你使用的支持类进行编译是不够的,当你运行你的程序时,它们也需要在类路径中。