Java无法编译和运行类

时间:2015-08-13 19:12:32

标签: java javac executable-jar

当我转到包含.java类的目录,而该类又包含main()方法,并运行javac Application.java时,我收到此错误: enter image description here

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

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

显然它甚至不认识那里的课程。

这是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

不确定是什么问题。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

根据您评论的内容,您可以将所有第三方罐子放入某个文件夹并运行javac -cp "<folder_with_jars>" Application.java

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