首页 > 解决方案 > 无法在 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,现在它就像一个魅力。感谢所有试图提供帮助的人。

标签: javamacosintellij-ideaprocessing

解决方案


推荐阅读