1、你的文件名对吗?
JAVA要求你的文件和你的类名严格对应的。比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!
2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:public static void main(String[] args)
事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!
3、记住,javac后面跟的参数是文件名,但java 后面跟的是类名!
这是开始学JAVA是犯的错,java HelloWorld.class,然后就报错。后来才弄明白,应该是java HelloWorld。
4、设置了classpath了吗?
不仅是在安装JDK时要设置的内容,一般来说最好还要自己设置一个目录来存放自己的类文件的。比如d:\class目录。设置classpath=d:\class那么,现在将HelloWorld.class文件COPY到d:\class目录下,再java HelloWorld应该就OK了。
5、结合第3点和第4点
如果你的类是属于某一个包的,比如这样一个类sony.test.HelloWorld,那么按照我在第4点中说的目录来说,就应该将HelloWorld.class文件存放到d:\class\sony\test\目录下。执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。
分享到:
相关推荐
“Exception in thread 'main' java.lang.NoClassDefFoundError”通常是由以上几种原因导致的。解决这类问题的关键在于理解Java的类加载机制,确保类路径、文件名、类名以及包结构等元素的正确性。在复杂的项目中,...
3. **Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update** Hibernate在执行数据库批处理更新时出现SQL语法错误,可能是由于数据库表不存在或结构不符...
- `Exception in thread "main" java.lang.NoClassDefFoundError`:表示Java工具程序找不到指定的类,请确保指定的类存在于正确的路径中。 - `Exception in thread "main" java.lang.NoSuchMethodError: main`:...
`Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/Transformer` 该错误是由于commons-collections.jar包缺失引起的,解决方法是添加commons-collections.jar包到项目...
第二个报错:Exception in thread "main" java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory。该错误发生在程序的main线程中,表明Java.lang包中找不到LoggerFactory类。通常这是由于缺少了必要的jar包导入...