我刚开始学java,装的是java1.6,抄了了两个小代码去运行都没成功(没有输出想要的结果)
,这是其中一个,请懂的给指点指点
C:\Users\acer>e:E:\>cd myjavaE:\myjava>javac HelloWorld.javaE:\myjava>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: HelloWorld. Program will exit.E:\myjava>
,这是其中一个,请懂的给指点指点
C:\Users\acer>e:E:\>cd myjavaE:\myjava>javac HelloWorld.javaE:\myjava>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: HelloWorld. Program will exit.E:\myjava>
.;
有没有加,这个表示在当前目录下找class
public class HelloWorld { public static void main(String args[])
{ System.out.println("Hello World!"); } }
这是我设置的classpath,帮我看看,谢谢
%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
javac -d . HelloWorld.java
-d的意思是展开新的目录,目录结构就是你package包的结构,后面的点代表的是在哪里展开这个目录,.代表的是当前目录然后运行的时候需要
java 包名.类名如果没有加package的话那么就是他没法去寻找这个类,虚拟机寻找类的路径通过环境变量classpath来指定,可以不指定,默认为. .就是当前目录,如果指定了就必须在指定的路径上加上 .
改成这样