Java 尝试从命令行运行应用程序时出错:找不到类

Java 尝试从命令行运行应用程序时出错:找不到类,java,Java,我在大学里用Java做了一个模块,但我们都是用Eclipse做的。现在我想返回并学习它,但使用命令行 我在桌面上设置了一个文件夹,写出了我的应用程序,并将其保存为“MyFirstApp.java”。这是: public class MyFirstApp { public static void main (String[] args) { System.out.print("Hello World!"); } } 我打开命令行,将cd放入相应的目录中,然后键入“javacMyF

我在大学里用Java做了一个模块,但我们都是用Eclipse做的。现在我想返回并学习它,但使用命令行

我在桌面上设置了一个文件夹,写出了我的应用程序,并将其保存为“MyFirstApp.java”。这是:

public class MyFirstApp {

public static void main (String[] args)  {
  System.out.print("Hello World!");

  }

}
我打开命令行,将cd放入相应的目录中,然后键入“javacMyFirstApp.java”进行编译。 这将在名为“MyFirstApp.class”的文件夹中创建一个文件

但是,当我尝试通过键入“java MyFirstApp”来运行此应用程序时,我得到一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: MyFirstApp
Caused by: java.lang.ClassNotFoundException: MyFirstApp
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    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: Share.class.  Program will exit.
我还尝试通过键入“java-cp.MyFirstApp”来运行,但随后出现以下错误:

Unrecognised option: -cp.MyFirstApp
Could not create the Java Virtual Machine
这可能是我的环境变量的问题吗?我对所有这些东西都不太了解。

试着把它当作

java -cp . MyFirstApp
相反。(注意空格。)


不过这很奇怪,因为通常当前目录已经在类路径上了…

这很可能发生,因为类路径环境变量中没有当前目录。它找不到.class文件,即使它存在于您试图从中运行它的目录中


您可以将当前目录(单点“.”)添加到CLASSPATH环境变量,也可以使用-cp参数显式传递CLASSPATH。

尝试将CLASSPATH设置为当前文件夹,如下所示(注意中间的空格):


应在cp和类名之间添加空格:

java -cp . MyFirstApp

尝试设置path和classpath

问题出在命令行中,错误消息会明确显示出来<代码>无法识别的选项…。使用
java-cp。MyFirstApp
java -cp . MyFirstApp