2014-01-05 31 views
0

我正在嘗試創建一個簡單的Java程序,它使用Zest框架來生成和顯示來自.dot輸入圖形的圖形。我已將整個gef4框架下載到eclipse中,並創建了兩個示例java程序來測試正常圖形和點圖的可視化。正常的圖形工作正常,但是當我嘗試運行點圖我結束了以下錯誤(這並沒有多大的意義對我來說)運行Zest/Dot程序的問題

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(); 
     } 
    } 
} 

} 

有什麼想法?

回答

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) 

應用程序是無法找到的URLClassLoader類的類交換機中的run()方法。

+0

那麼我該怎麼做才能擺脫這個錯誤? (obv我不知道自己排序) – Wosh

+0

您正在使用哪個JDK和JRE版本? –

+0

jre7和jdk1.7.0_45 – Wosh