Java处理ClassNotFound异常

Lil*_*hay 2 java eclipse processing

我正在尝试遵循一些简单的教程来使用 Eclipse 中的 Java 处理(特别是这个),并且在尝试启动最基本的程序时遇到了一个奇怪的运行时错误。

这是我的代码,基本上是教程的精确副本:

package processingTest;
import processing.core.PApplet;

public class UsingProcessing extends PApplet{

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

    public void settings(){
        size(300,300);
    }

    public void setup(){
        fill(120,50,240);
    }

    public void draw(){
        ellipse(width/2,height/2,second(),second());
    }
}
Run Code Online (Sandbox Code Playgroud)

没有编译错误,在运行之前一切看起来都很好。但当我这样做时,它只是吐出这样的内容:

java.lang.RuntimeException: java.lang.ClassNotFoundException: UsingProcessing
    at processing.core.PApplet.runSketch(PApplet.java:10706)
    at processing.core.PApplet.main(PApplet.java:10513)
    at processing.core.PApplet.main(PApplet.java:10495)
    at processingTest.UsingProcessing.main(UsingProcessing.java:7)
Caused by: java.lang.ClassNotFoundException: UsingProcessing
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at processing.core.PApplet.runSketch(PApplet.java:10699)
    ... 3 more
Run Code Online (Sandbox Code Playgroud)

我对此很迷失。我研究了几个小时但一无所获,我想我只是不知道要寻找什么。如果需要更多信息,我很乐意提供。

我尝试过的事情:

  • 重新安装处理

  • 重新安装Java

  • 重新安装Eclipse

  • 包括来自Processing的所有其他杂项包

  • 搞乱语法PApplet.main("UsingProcessing");

小智 5

您发布的链接包含以下句子:

注意:如果您的类是默认包以外的包的一部分,则还必须使用包名称调用 PApplet 的 main,如下所示: PApplet.main("packageName.ClassName");

代替PApplet.main("UsingProcessing")

你应该打电话PApplet.main("processingTest.UsingProcessing")

(您的包名称位于类声明文件的顶部。)

  • @LilahSahay只是为了添加Rick的精彩答案(+1),您还可以使用`PApplet.main(UsingProcessing.class.getCanonicalName());`它将获得完全限定的类名(包括包名称) (2认同)