A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙峰 黑马帝   /  2012-5-21 15:45  /  1915 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙峰 于 2012-5-22 08:13 编辑

对JAVA文件夹 dir 的时候里面存在Demo_1.class这个文件的,怎么下一个“java Demo_1”,就不对了。往指教。

QQ截图20120521154143.png (9.7 KB, 下载次数: 30)

QQ截图20120521154143.png

5 个回复

倒序浏览
请楼主再看下 是不是你用了public class 声明了一个包含main的类  而且这个类名和文件名不一致?
回复 使用道具 举报
杨梦宇 发表于 2012-5-21 15:53
请楼主再看下 是不是你用了public class 声明了一个包含main的类  而且这个类名和文件名不一致? ...

class Demo_1
{
public static void main(String[] args)
{
  System.out.print("11");
}
}

我还没配置 classpath 的时候,是在Demo_1.class所在的文件中,不能运行。配置classpath后,就行了
回复 使用道具 举报
环境变量的问题吧~~只有这个可能 了~再检查你环境变量的配置吧!
回复 使用道具 举报
NoClassDefFoundError:没有找到这样的类。
两种情况:路径错误,类名错误。
解决方法:
1.你的代码中和类名是否和class文件名一致呢?
2.路径是否正确?为了方便,我们都进行环境变量的配置,请查看环境变量配置是否正确?
回复 使用道具 举报
为什么执行JAVA程序时,会出现Exception in thread"main" java.lang.NoClassDefFoundError的错?

应该这样检查你的环境和你的操作:

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=%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。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马