我写了一个简单的hello world程序,如下所示
package helloworld;
public class helloWorld
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
我正在使用Windows 7并在环境变量窗口中设置了我的CLASSPATH和PATH变量
C:\Program Files\Java\jdk1.6.0_24\bin;
该计划位于
C:\Users\Admin\Documents\NetBeansProjects\javaAssignment\src\helloWorld
所以,基本上当我尝试在命令提示符下运行它时,会发生以下情况
C:\Users\Admin\Documents\NetBeansProjects\javaAssignment\src\helloWorld>javachelloWorld.java
C:\Users\Admin\Documents\NetBeansProjects\javaAssignment\src\helloWorld>java helloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: helloWorld (wrong name: helloworld/helloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: helloWorld. Program will exit.
该程序似乎编译正常,不会抛出任何错误。但是,当我试图运行它时,它表示已经发生异常。 我试着看着谷歌认为设置我的PATH和CLASSPATH是错误的,但我似乎没有发现任何问题。
答案 0 :(得分:2)
如果你的helloWorld.java文件在一个包中,你可以按如下方式运行:
C:\Users\Admin\Documents\NetBeansProjects\javaAssignment\src\
java packageName.helloWorld
从helloworld包目录外部运行代码,即从src目录运行(C:\ Users \ Admin \ Documents \ NetBeansProjects \ javaAssignment \ src)
同时检查java文件的名称是否与您的类名相同(helloWorld.java)
此外,您的软件包的名称似乎是helloworld(全部都是小写字母),但文件夹名称是helloWorld(注意W是大写)这两个名称都需要匹配。
答案 1 :(得分:0)
发出命令时,您需要确保您在包含helloWorld.class文件的目录中
java helloWorld