在命令提示符下编译和运行java程序

在命令提示符下编译和运行java程序,java,path,compilation,classpath,command-prompt,Java,Path,Compilation,Classpath,Command Prompt,我写了一个简单的hello world程序,如下所示 package helloworld; public class helloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } 我使用的是Windows7,在environment variables(环境变量)窗口中将我的类路径和路径变量设置为 C:\Program F

我写了一个简单的hello world程序,如下所示

package helloworld;

public class helloWorld 
{
    public static void main(String[] args)
    {
        System.out.println("Hello, World!");
    }
}
我使用的是Windows7,在environment variables(环境变量)窗口中将我的类路径和路径变量设置为

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.
程序似乎编译得很好,没有抛出任何错误。但当我试着运行它时,它说已经发生了很多异常。
我试图在谷歌上查找,认为设置路径和类路径是错误的,但我似乎没有发现任何问题

如果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是大写),这两个名称需要匹配。

发出命令时,您需要确保您位于包含helloworld.class文件的目录中

java helloWorld

你定义了什么包吗?@Kakarot是的,我定义了。对不起,现在编辑了问题。谢谢。我刚试过。但是ittry从helloworld包目录中运行代码时引发了相同的异常检查java文件的名称是否与类文件相同?是的,两者都命名为helloworld。helloWorld.java和helloWorld.class都存在于C:\Users\Admin\Documents\NetBeansProjects\javaAssignment\src\helloWorld您是否尝试从helloWorld文件夹或src folder运行代码是的,我将类路径重置为helloWorld.class所在的控制器。再次尝试运行它。仍然抛出相同的异常。我的意思是使用cd和cd。。在命令提示中。在发出java命令之前,导航到保存helloWorld.class文件的目录helloWorld.class文件已在编译时的同一文件夹C:\Users\Admin\Documents\NetBeansProjects\javaAssignment\src\helloWorld中创建,所以我不需要更改目录,对吗?