我正在使用“展开地图”库进行项目,该库要求应用程序为PApplet。但是我在使用javac在命令行上编译和运行这样的程序时遇到了麻烦(它在Eclipse中有效)。这是我现在所拥有的:

目录结构

.
├── build/
├── lib/
│   └── core.jar
├── Makefile
└── src/
    └── unfolding/
        └── Unfolding.java


生成文件

all:
    javac -classpath .:lib/core.jar -sourcepath src -d build src/**/*.java
    cd build
    java -classpath .:../lib/core.jar unfolding.Unfolding


src / unfolding / Unfolding.java

package unfolding;

import processing.core.*;

public class Unfolding extends PApplet {
    public static void main(String[] args) {
        PApplet.main(new String[] { "unfolding.Unfolding" });
    }

    public void setup() {
        size(800, 600, OPENGL);
    }

    public void draw() {
        background(0);
    }
}


运行Makefile时,出现以下错误:


无法找到或加载主类展开。


我已经读了很多(主要是here),但是据我所知,我做的一切正确。我在这里还想念什么?

我正在使用Java 1.8,core.jar来自处理3。

还要注意,虽然我的班级叫做Unfolding,但是我实际上还没有开始合并Unfolding库,所以这与问题无关。

最佳答案

所以问题是我必须运行一个PApplet并传递主类作为参数。像这样:

java -classpath .:../lib/core.jar processing.core.PApplet unfolding.Unfolding

08-17 01:48