E:\JAVA\Exercise\src\aa>java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: aa
/Hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Hello. Program will exit.
Java code:
package aa;
public class Hello {
public static void main(String[] args){
System.out.println("Hello World");
}
}
在Eclipse下能运行,为什么在命令行下就有错误??在线等!
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: aa
/Hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Hello. Program will exit.
Java code:
package aa;
public class Hello {
public static void main(String[] args){
System.out.println("Hello World");
}
}
在Eclipse下能运行,为什么在命令行下就有错误??在线等!
以上是编译
执行:
打入你的java的安装路径\bin\java java文件名回车 /**********************java安装路径****************?
仍然有错误!!!
E:\JAVA\Exercise\src\aa>javac Hello.javaE:\JAVA\Exercise\src\aa>java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: aa
/Hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Hello. Program will exit.
jdk版本:
E:\JAVA\Exercise\src\aa>java -version
java version "1.4.1_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06)
Java HotSpot(TM) Client VM (build 1.4.1_02-b06, mixed mode)
按上述方法做:
E:\JAVA\Exercise\src\aa>C:\j2sdk1.4.1_02\bin\javac Hello.javaE:\JAVA\Exercise\src\aa>C:\j2sdk1.4.1_02\bin\java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: aa
/Hello)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)E:\JAVA\Exercise\src\aa>
Hello World
E:\JAVA\Exercise\src>java aa/Hello
退到上一层目录。
编译:javac Hello.java
解释:java Hello
就将这个java文件放到盘符的根目录下再测试下,测试的话就没有必要去加一个
package aa;了 再试下吧 希望成功
在编译时:javac 包名.类名.java
在运行时:java 包名.类名
如果你的环境变量设置好了 那就是你编译的时候没有引入包名
/Hello)
根据这句话,应该是你的路径有误或是文件名命名错误,仔细查查
编译的时候用 javac Hello是可以的。
但是在运行的时候要换一下路径
因为Eclipse编译会把class文件放在bin的目录下
应改为:
E:\JAVA\Exercise\bin\aa>java Hello
先找到这个文件所在目录。比如说是X:/xxx/bin/aa/Hello.class
请退到bin这一层目录,然后执行java aa.Hello
java搜索类的时候是以你建这个类的时候最顶级的package作为起始点的。不要进入到看到class文件的地方再开始执行java,只要把bin目录作为运行java的地方就好,如果src和bin是放在同一个目录里面的,那么就在src目录下面运行。
这明显是class变量的值设置错误啊
变量名Class
变量值 填写你的jdk安装位置\bin;
注意“;”要用英文输入,用中文在运行时会出错
楼上说的运行路径不对才是误导哪,放在哪个文件夹下就在哪里运行有什么不对了“注意“;”要用英文输入,用中文在运行时会出错”这才是关键,我敢百分之百确定你一定是环境变量设置错了,不信你运行别的。java文件试试,保证还是这个错误
javac -d . Hello.java
pause
然后再运行
java aa.Hello
pause这样也可以的
jdk1.4太低了,现在是建议用jdk6.0
你用到包了,退到上一级目录,用java aa.HelloWorld
同意
文件名要跟这个类名同名
不然就找不到
运行的时候使用E:\JAVA\Exercise\src\aa>java Hello