Java - 运行时的NoClassDefFoundError

时间:2013-06-30 20:46:39

标签: java

今天我尝试通过命令提示符编译我的源代码:

PS ...\JavaDev\Prog> javac -classpath <libs> -d . -sourcepath src src/com/negi/prog/Prog.java

他们成功编译。

但是当我尝试运行它时,会产生错误:

PS ...\JavaDev\Prog> java -classpath  com.negi.prog.Prog

Exception in thread "main" java.lang.NoClassDefFoundError: com/negi/prog/Prog
Caused by: java.lang.ClassNotFoundException: com.negi.prog.Prog

我该如何解决?

3 个答案:

答案 0 :(得分:2)

-classpath中的课程必须由:

分隔
PS ...\JavaDev\Prog> java -classpath "<libs>:com.negi.prog.Prog"

要完成答案,不同的操作系统具有不同的类路径分隔符。您可以通过检索java.class.path属性的值来检查分隔符。

答案 1 :(得分:2)

默认情况下。 (当前路径)包含在类路径中,但如果指定-classpath或-cp,则会覆盖该路径。包括。在你的类路径中:

java -classpath <libs>:. com.negi.prog.Prog

答案 2 :(得分:1)

运行时需要确保当前目录在类路径上。

PS ...\JavaDev\Prog> java -classpath <libs>:. com.negi.prog.Prog