Java 无法编译并且 运行 class

Java unable to compile and run class

当我转到包含 .java class 的目录时,该目录又包含 main() 方法和 运行 javac Application.java,我得到这个错误:

然后当我 运行 java Application.java 只是为了查看输出时,我得到了这个错误:

Error: Could not find or load main class Application.java

显然它甚至无法识别那里的 class。

这是java -version的输出:

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

这是 javac -version 的输出:

javac 1.8.0_45

不太确定哪里出了问题。

有什么想法吗?

它无法编译您的应用程序的原因是您从其他地方导入 classes,但您没有告诉编译器在哪里可以找到这些 classes。您需要将它们添加到编译器的 class 路径中。在这种情况下,您从 Spring 框架中导入了一些 classes,但是您没有向编译器提供相关的 .jar 文件,以便它知道在哪里可以找到 class你正在导入。

你得到的第二个错误是当你试图 运行 你的程序时,但你不能,因为你还没有设法生成编译版本。

我强烈建议您下载 Eclipse 或 IntelliJ IDEA 或类似的 IDE,并将其用于您的开发和编译。它将为您处理几乎所有这些。如果你想从命令行编译,你前面的路很痛苦。

您的应用程序正在使用某些第 3 方库,例如 Spring。您需要告诉 java 在哪里可以找到这些库。您可以将它们复制到某处并通过类路径配置引用它们。为了使事情更简单,请查看 maven - 依赖管理系统。

根据您的评论,您可以将所有第 3 部分 jar 放入某个文件夹,然后 运行 javac -cp "<folder_with_jars>" Application.java

如果没有任何编译错误,它将生成class文件,然后您可以执行java Application