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

运行java出现找不到主类,请高手帮帮忙!!
可以用javac编译,但用java运行时出现找不到主类
已经有设置环境变量.
代码如下:
[code=Java][/code]
public class Hello
{
  public static void main(String [] args)
  {
  System.out.println("Hello World !");
  }
}
[code=Java][/code]
出现的错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: hello/java
Caused by: java.lang.ClassNotFoundException: hello.java
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: hello.java. Program will exit.

小弟刚刚学java请各位大哥大姐不吝赐教

------解决方案--------------------
检查一下配置环境 和你运行时候的目录 
推荐楼主是用编程工具
------解决方案--------------------
大部分使用eclipse开发工具
------解决方案--------------------
你把类的package这一行去掉,省的麻烦,然后
你要保证 .java文件名称是 Hello.java 类的名称是Hello
编译的时候 javac Hello.java 运行的时候是java Hello 不是java hello

Java的类名是严格区分大小写的,估计你运行的时候是用了java hello而不是java Hello
------解决方案--------------------
怎么不行,你现在的代码和执行过程完整贴出来
总有不对的地方
探讨

不行啊,真搞不明白,气死人了!!!

------解决方案--------------------
慢慢来不要急~~环境配置好时不会有问题的~~或者在IDE里编译运行~~
------解决方案--------------------
告诉你Java要求类名首字母大写,你再认真看看我在10楼的回复

把文件名和类名都改成首字母大写,OK?

你修改一下环境变量CLASSPATH 然后在原来的环境变量值后面加上;.

或者你执行java -cp . Hello 试试
------解决方案--------------------
对头 类名要大写
------解决方案--------------------
代码如下:
public class hello
{
public static void main(String [] args)
{
System.out.println("Hello World !");
}
}
操作:命令提示符下
C:\java1>javac hello.java (javac编译正常通过)

C:\java1>java hello.java 是不是 java hello 啊,不需要.java
虽然区分大小写,类名最好使用大写,但小写也没错
------解决方案--------------------
java 后面跟的应该是类名,而不是文件名