从命令提示符运行java文件

从命令提示符运行java文件,java,windows,Java,Windows,我制作了简单的hello world应用程序Java文件。 我试着在windows的命令提示符下编译它,结果很好。 但是当我尝试用Java运行它时,命令提示符会显示以下错误。 错误:无法找到或加载主类“项目名称”。 但是当我检查文件夹时,文件“projectname”。类是存在的,而且我在其中有main 为什么我会犯这个错误 编辑: 文件名:HelloWorldApp.java 代码: package helloworldapp; /** * The HelloWorldApp class im

我制作了简单的hello world应用程序Java文件。 我试着在windows的命令提示符下编译它,结果很好。 但是当我尝试用Java运行它时,命令提示符会显示以下错误。 错误:无法找到或加载主类“项目名称”。 但是当我检查文件夹时,文件“projectname”。类是存在的,而且我在其中有main

为什么我会犯这个错误

编辑:


文件名:HelloWorldApp.java

代码:

package helloworldapp;
/** * The HelloWorldApp class implements an application that 
    * simply prints "Hello World!" to standard output. */ 

public class HelloWorldApp
{ /* * @param args the command line arguments */
    public static void main(String[] args)
    { 
        System.out.println("Hello World!"); // Display the string
    } 
}

运行类路径时,请尝试将当前目录添加到该类路径,并包含包名

java -cp . helloworldapp.HelloWorldApp

项目名称。存在类
。你确定吗?类名不能包含空格。请向我们显示您的
文件名
代码
是,它已存在并已选中它文件名:HelloWorldApp.java代码:package HelloWorldApp;/***HelloWorldApp类实现了一个应用程序,该应用程序*只需将“Hello World!”打印到标准输出公共类HelloWorldApp{/**@param args命令行参数*/public static void main(String[]args){System.out.println(“Hello World!”);//显示字符串}}}当您开始研究“包”时,请小心。包命名结构必须与存储.class文件的目录结构匹配。这很容易搞糟。你也应该在上面HelloWorldApp.class文件所在的目录中。如果他要使用软件包,那么他必须在床上处理整个软件包目录结构的事情——这不是第一天要做的事情。最好只是删除代码中的package语句。我删除了代码中的package语句,正如@Hot-Licks所说的,它进行得非常顺利!谢谢我想了解为什么在添加package语句时会出现这个错误?java中的包对应于文件系统中的目录。为了查找类
helloworldapp.helloworldapp
,java查找相对于当前目录(或类路径中的目录)的文件
helloworldapp\helloworldapp.class
。如果您的命令shell已经在
helloworldapp
目录中,它将无法找到它。