日期:2014-05-20  浏览次数:20710 次

在命令行编译java文件没问题,为什么执行的时候报错,而同样的程序在Eclipse下就可以正常执行?
报的异常是
D:\>javac Test_1.java

D:\>java Test_1
Exception in thread "main" java.lang.NoClassDefFoundError: Test_1
Caused by: java.lang.ClassNotFoundException: Test_1
  at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Test_1. Program will exit.

------解决方案--------------------
classpath问题,java -cp 依赖的jar packagename.Test_1
------解决方案--------------------
如果你的 Test_1 在 D:\test下,那么有两个办法

方法1)
java -cp D:\test Test_1


方法2)
你也可以在命令行
D:
cd D:\test
java Test_1

------解决方案--------------------
以后还要注意··你在eclipse里面使用了包的话··在里面是完全没问题的·但是你使用CMD里运行的时候要注意加包(packege.class)··这种错误我遇到过··烦了N久才知道怎么回事··