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
当我转到包含 .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