C:\Users\DSR>java Test1
Exception in thread "main" java.lang.NoClassDefFoundError: Test1 (wrong name: co
m/itheima/Test1)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: Test1. Program will exit. 作者: fenzheng 时间: 2014-5-29 15:38
错误是告诉你,找不到.class文件
你的程序没问题,可能是因为你环境变量的设置有问题
我告诉你我的,你对照修改一下,如果不是这个原因,你在想别的办法。不过最可能的就是环境变量配置有问题。
你需要检查下你的java_home 和classpaht之类的东西看看吧
环境变量如果设置正确,你的程序肯定能运行,如果不配置环境变量,那么把你的JAVA文件复制到bin目录下去编译,然后运行,如果还不行,那你就要重装JDK了!
我的方法你都弄一下,如果不行你踩我!!!!
补充:classpath他的路径前必须有 点 和 分号 .; 就是这个!!
新补充:能帮到你真的很高兴!
对不起,确实是dt不是jt,是我打错了!
但运行程序没关系的!但还是写正确的好,要不怕有麻烦,呵呵,谢谢peizhengfen!
还有回答一下楼主的问题
classpath是用来使编译程序能找到用户定义类和系统类所在的包,需要将用户类所在的目录和系统类所在的包放入环境变量中,路径中的点“.”就表示当前用户类所在的目录(当前目录)而确定dt.jar和tools.jar就是指定系统类!只有写全了才能实现classpath的功能!不过说句实在话,到目前为止,我还没看到过哪本书上环境变量向你说的那样配置,真的,如果有,也肯定不是JDK1.4.2,也许版本比他高吧!不过你记住了,这么配置对你以后应用集成开发软件有好处,他能很方便的找到你的JDK,加快了程序的运行效率!作者: fenzheng 时间: 2014-5-29 15:40
就是说类加载器加载不了,或者,你把java.awt.关掉看看
应该这样检查你的环境和你的操作:
1、你的文件名对吗?
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!
2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args)
事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!