java - 无法在 Mac 上通过 IntelliJ 运行处理文件
问题描述
有一个快速的小问题。过去一周,我一直在家里的 Windows PC 上使用处理图形处理一些 Java 项目。我一直在使用 ItelliJ IDE 将处理库添加到项目中,并且运行良好。
然而,今天我不在家,想试试我是否也可以在我的 MacBook 上工作。我完成了相同的步骤来下载 IntelliJ IDE 和处理,并将处理添加到项目中。但是这次在我尝试运行我的程序后,我不断收到“java.lang.NoClassDefFoundError”错误。
我做了一个小试验程序,应该只是让盒子在盒子里画一个小圆圈,但同样的错误发生了。它指向错误的那一行是我声明 PApplet.main("Classname"); 的地方。
我不确定这是否只是 Mac 问题,或者是否还有其他我必须做的事情,而我不必在我的 Windows PC 上做这些事情。但是,如果您可以帮助阐明可能导致此问题的原因,我们将不胜感激。
这是我制作的小测试程序,它应该只在屏幕上画一个圆圈。领事在 main 方法的一行显示了 java.lang.noClassDefFoundError。
import processing.core.PApplet;
public class Test extends PApplet
{
public static void main()
{
PApplet.main("Test");
}
public void setup() {}
public void settings()
{
size(300, 300);
}
public void draw()
{
ellipse(150, 150, 50, 50);
}
}
这是我收到的错误消息:
java.lang.NoClassDefFoundError: com/apple/eawt/QuitHandler
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3119)
at java.base/java.lang.Class.getMethodsRecursive(Class.java:3260)
at java.base/java.lang.Class.getMethod0(Class.java:3246)
at java.base/java.lang.Class.getMethod(Class.java:2065)
at processing.core.PApplet.runSketch(PApplet.java:10855)
at processing.core.PApplet.main(PApplet.java:10650)
at processing.core.PApplet.main(PApplet.java:10632)
at Test.main(Test.java:7)
Caused by: java.lang.ClassNotFoundException: com.apple.eawt.QuitHandler
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 9 more
解决方案编辑:所以经过大量搜索并发布到其他几个论坛后,我得到了答案。IntelliJ 默认使用 JDK 10,它显然不喜欢这样。所以我下载了 JDK 8 并将其设置为 IntelliJ 的默认值,并将“模块”选项卡中的语言级别更改为 8,现在它就像一个魅力。感谢所有试图提供帮助的人。
解决方案
推荐阅读
- google-sheets - 哪个导入函数最快?
- git - Azure devops - 无法强制推送具有最大权限的分支
- swift - 达到字符数后,如何以编程方式将光标从一个 NSTextField 移动到另一个?
- angular - Angular - 如何使用`forRoot`将配置传递给另一个模块加载的模块?
- c++ - 如何将 IP 地址转换为数组?
- python - Python 多处理错误地重新运行整个文件
- javascript - 是否可以在 Node js 中处理 app.js 之外的路由
- c++ - FLTK - FL_Tooltip - 修改工具提示大小
- python - 你如何阻止heroku中的工人测功机
- hdfs - HDFS 死数据节点