【问题标题】:Using eclipse with processing, cannot get java application to run使用 eclipse 处理,无法运行 java 应用程序
【发布时间】:2018-06-12 17:23:07
【问题描述】:

所以我只是在尝试使用 eclipse 进行处理,但在运行 java 应用程序时遇到了问题。

我基本上是按照这个教程来的:https://processing.org/tutorials/eclipse/

我已经按照步骤进行了,但是当我到达这部分时:

    import processing.core.PApplet;

    public class UsingProcessing extends PApplet{

public static void main(String[] args) {
    PApplet.main("UsingProcessing");

}

}

没有错误或什么都没有,但是当我按下运行(作为 java 应用程序运行)时,会打开一个 java 程序(没有窗口,我只能在屏幕底部看到该程序)。然后它会在几秒钟后关闭。

我还收到以下错误:

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:10707)
at processing.core.PApplet.main(PApplet.java:10504)
at processing.core.PApplet.main(PApplet.java:10486)
at UsingProcessing.main(UsingProcessing.java:6)
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

那部分代码至少应该给我一个空白草图,但我什么也没得到..

这家伙让它工作了,但我不能..https://www.youtube.com/watch?v=0cqSjyvA8EY

我可以向您保证,我已正确导入处理库,所以这不是问题所在。我认为这是我的 java 出了点问题?我使用的是 macbook pro 和以下 java:

Java(TM) SE 运行时环境 18.3(内部版本 10.0.1+10)

Java HotSpot(TM) 64 位服务器 VM 18.3(内部版本 10.0.1+10,混合模式)

感谢所有帮助,我对此有点陌生,所以如果有任何问题,请保持温和!

编辑:

我也尝试过 IntelliJ 没有运气,同样的事情,java 会打开片刻然后关闭。这个视频是我的指南:https://www.youtube.com/watch?v=_h2GZgnPcnM

【问题讨论】:

  • eawt 包可以作为库使用吗?如果没有,你需要添加它,或者使用像 maven 这样的包管理器来让它工作。
  • 我不知道你的意思是什么对不起,我已经导入了“core.jar”并构建了路径以便编译
  • 你有想过这个问题吗?
  • 是的,我必须选择一个 旧版 的“core.jar”。我认为是 java 10 或 11(我完全不确定)。另外我相信我不得不使用旧版本的处理并失去新版本的所有功能。也许我将来会更多地研究这个!感谢您的关注!
  • 我不记得是否必须使用较旧的 java 版本,但我确信需要较旧版本的 Processing 才能与 Eclipse 一起使用

标签: java eclipse processing


【解决方案1】:

我可以向您保证,我已正确导入处理库,所以这不是问题所在。

您需要的不仅仅是 core.jar 库。在您的情况下,您需要任何 .jar 文件包含 com/apple/eawt/QuitHandler 类。

This answer 表示您正在寻找的 .jar 随 Mac JDK 一起提供。尝试将 .jar 文件添加到您的类路径中。

【讨论】:

  • 嘿!感谢你的回答。我确信我也有正确的 JDK。你能给我一些关于如何找到 .jar 文件的见解吗?我已经找过了,但找不到它..
  • 所以我从 java2s.com/Code/Jar/m/Downloadmacuijar.htm 下载了 ui.jar 文件。当我将它添加到 Eclipse 中的类路径时,它什么也不做..
  • 另外一件事,他们的教程说我只需要“core.jar”库...谢谢你的帮助
  • @zejton 从 Processing 的角度来看,您只需要 core.jar 库。但是您使用的是 Mac,它有自己奇怪的 Java 规则。我所有的信息都来自谷歌搜索您的错误并查看其他人过去所做的事情。听起来你不应该下载任何东西,但 .jar 文件应该在你的 JDK 目录中。
  • jar 文件的名称是什么??
【解决方案2】:

所以我相信问题已经解决了。问题是(我认为)苹果使用的java(?)。所以我降级到 Processing 2 core.jar,一切正常。

在这里找到:https://github.com/processing/processing/issues/5371

还有一个我不完全理解的链接:https://github.com/processing/processing/wiki/Supported-Platforms#java-9

那里的人建议你应该降级你的 jdk(?),但我认为讨论的是处理 2(当我这样做时它没有没有工作)。所以现在,在 eclipse 中处理的所有事情都必须通过处理 2 来完成。

这很奇怪,因为 processings 网站上的教程使它与 processing 3 一起工作

编辑:上一个答案是五年多前提出的..

【讨论】:

    猜你喜欢
    • 2015-03-06
    • 1970-01-01
    • 2015-06-21
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    相关资源
    最近更新 更多