2013-04-30 2 views
0

Я пытаюсь получить простой пример для запуска. Следующий код компилируется, но дает мне ошибки, когда я пытаюсь запустить его. Я новичок в обработке/Java. Кроме того, моя цель - проверить, могу ли я сделать простую утилиту командной строки для обработки графиков/графики (очень простой), вроде gnuplot.Обработка/Java - Простой пример

import processing.core.*; 

public class MyProcessingSketch extends PApplet { 

    public void setup() { 
    size(200,200); 
    background(0); 
    } 

    public void draw() { 
    stroke(255); 
    if (mousePressed) { 
     line(mouseX,mouseY,pmouseX,pmouseY); 
    } 
    } 
    public static void main(String args[]) { 
    PApplet.main(new String[] { "--present", "MyProcessingSketch" }); 
    } 
} 

Я строю с

javac -cp location/of/core/core.jar MyProcessingSketch.java 

и работать с

java -cp location/of/core/core.jar MyProcessingSketch 

погрешность я получаю,

Exception in thread "main" java.lang.NoClassDefFoundError: MyProcessingSketch 

EDIT:

Я теперь пытался

java -cp "location/of/core/core.jar:." MyProcessingSketch 

и ошибка теперь,

Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException 
+1

Вы пытаетесь запустить апплет в качестве настольного приложения. В лучшем случае он должен быть загружен в браузер, в худшем случае вы можете попробовать использовать средство просмотра апплетов, включенное в JDK – MadProgrammer

+0

* «Я новичок в обработке ...» * Почему вы беспокоитесь об этом примитивном API на основе AWT? –

+0

Как в стороне, что такое атрибут '--present'? Я не вижу этого [упоминается в JavaDocs] (http://processing.googlecode.com/svn/trunk/processing/build/javadoc/core/processing/core/PApplet.html#main%28java.lang.String []% 29). –

ответ

4

Вы установили свой путь к классам location/of/core/core.jar, но не включает в себя текущий каталог, в котором класс ложь.

Включить "." (текущий каталог) в вашем пути к классу:

java -cp "location/of/core/core.jar:." MyProcessingSketch 

«:» - разделитель путей в Unix и Linux; вместо этого используйте точку с запятой в Windows.

java -cp "location/of/core/core.jar;." MyProcessingSketch 
+0

@ctsa Также неплохо разместить свой класс в пакете. Затем вы будете запускать 'mypackage.MyProcessingSketch' –

0

Ваш путь к классам в настоящее время содержит только location/of/core/core.jar, а не MyProcessingSketch.class. Вы должны сделать java -cp location/of/core/core.jar;. MyProcessingSketch, чтобы включить текущий каталог.

Смежные вопросы