java - Mac 上的 JDK NoClassDefFoundError

标签 java macos

当我使用 IntelliJ 和 Eclipse 编译程序时,一切正常,但当我在终端中运行 java 或 javac 时,我无法做到这一点。我有问题:

Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object

我设置了 PATH 但它仍然不起作用。 我尝试重新安装JAVA,但还是不行。

java给出的命令:

/Users/ba/anaconda3/bin/java

你有什么想法吗?

最佳答案

当您构建 Java 应用程序时,必须将许多设置传递给 Java 编译器(通常是 javac)。您可以在命令行上和/或在终端中设置环境变量来提供这些设置,但您必须提供它们,否则您的应用程序将无法编译。这就是为什么您收到编译器无法找到“java/lang/Object”的基本定义的错误的原因——您没有告诉它在哪里查找。

当您使用 IDE(开发环境)(例如 IntelliJ 或 Eclipse)时,它们会自动为您提供必要的详细信息。如果您要自己在命令行上执行此操作,则需要完成所有操作。

至少:您需要在终端的 PATH 变量中包含 Java 工具,此外您还需要向 Java 编译器提供“类路径”,以便它知道在哪里可以找到您的应用程序所需的所有库(目录和 JAR 文件等)。请访问此网站了解更多信息:

https://www.ntu.edu.sg/home/ehchua/programming/howto/Environment_Variables.html

这将是一个大主题,因此要么坚持使用 IDE,要么准备好进行更多阅读。

关于java - Mac 上的 JDK NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581389/

相关文章:

java - 线程 AWT-EventQueue-0 (File.<init>) 出现 NullPointerException

Mac OS X 10.8 上 NetBeans 中的 Java GUI

objective-c - 如果 subview 拒绝,则将 super View 作为拖动目标

java - 自定义 JScrollPane。在 ScrollBar 行上添加一个组件

java - NetBeans Profiler - 未显示实时结果

java - 使用 java 的 Calendar 类比较日期

java - 在 docker build 阶段使用本地 m2 仓库

c++ - 适用于 Mac 的 Excel SDK

java - 如何使用 JVM API 自动将图像上传到 commercetools

c++ - 相当于 mac 的 windows.h