0

.dot 入力グラフからグラフを生成して表示するために、Zest フレームワークを使用する単純な Java プログラムを作成しようとしています。gef4 フレームワーク全体を Eclipse にダウンロードし、2 つのサンプル Java プログラムを作成して、通常のグラフとドット グラフの視覚化をテストしました。通常のグラフは正常に動作していますが、ドット グラフを実行しようとすると、次のエラーが発生します (これはあまり意味がありません)。

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/emf/ecore/util/Switch
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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 java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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 org.eclipse.gef4.zest.dot.DotGraph.<init>(DotGraph.java:37)
at test2.SampleDotGraph.main(SampleDotGraph.java:19)
Caused by: java.lang.ClassNotFoundException: org.eclipse.emf.ecore.util.Switch
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
... 26 more

Java コードは次のとおりです。

import org.eclipse.gef4.zest.dot.DotGraph;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SampleDotGraph {

public static void main(String[] args) {
    Display d = new Display();
    Shell shell = new Shell(d);
    shell.setText("GraphSnippet1");
    shell.setLayout(new FillLayout());
    shell.setSize(400, 400);

    DotGraph graph = new DotGraph("digraph{ 1->2 }", shell, SWT.NONE);
    graph.add("2->3").add("2->4");
    graph.add("node[label=zested]; edge[style=dashed]; 3->5; 4->6");

    shell.open();
    while (!shell.isDisposed()) {
        while (!d.readAndDispatch()) {
            d.sleep();
        }
    }
}

}

何かご意見は?

4

1 に答える 1

0

エラースタックを正しく読む

java.lang.ClassNotFoundException: org.eclipse.emf.ecore.util.Switch
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)

アプリケーションは、run() メソッドの URLClassLoader クラスでクラス Switch を見つけることができません。

于 2014-01-05T13:06:22.327 に答える