2017-07-19 6 views
1

Ich arbeite, um zwei Kanten auf zwei Knoten anzuzeigen, wenn es mehr als eine Kante gibt. Ich folge diesem example. Aber ich bin vor einer Ausnahme:Ausnahme auf Multigraph im Graphstream

Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/convert/WrapAsScala at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.graphstream.ui.view.Viewer.newGraphRenderer(Viewer.java:349) at org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:753) at org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:747) at com.h2Database.app.ahd.main(ahd.java:18) Caused by: java.lang.ClassNotFoundException: scala.collection.convert.WrapAsScala at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 6 more

mein Code:

import org.graphstream.graph.*; 
import org.graphstream.graph.implementations.*; 
import org.graphstream.ui.view.Viewer; 

public class ahd { 
    public static void main(String args[]) { 
     Graph graph = new MultiGraph("Test"); 
     System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer"); 
     graph.addNode("A"); 
     graph.addNode("B"); 

     graph.addEdge("1", "A", "B", true); 
     graph.addEdge("2", "A", "B", true); 

     Viewer viewer = graph.display(); 
    } 
} 

Jede Idee, warum ich das bin vor? Es scheint, dass in diesem Beispiel das Problem gelöst ist.

+0

Bitte geben Sie an, welche Version von 'gs-core' und' gs-ui' Sie verwenden. – Yoann

+0

@Yoann 1.3, neueste Version –

Antwort

1

GraphStream v1.3 is comprised of drei jar Dateien:

 
$ jar tf lib/gs-ui-1.3.jar | grep org.graphstream.ui.j2dviewer.J2DGraphRenderer 
org/graphstream/ui/j2dviewer/J2DGraphRenderer$$anonfun$render$2.class 
org/graphstream/ui/j2dviewer/J2DGraphRenderer.class 
org/graphstream/ui/j2dviewer/J2DGraphRenderer$.class 
org/graphstream/ui/j2dviewer/J2DGraphRenderer$$anonfun$render$2$$anonfun$apply$1.class 
org/graphstream/ui/j2dviewer/J2DGraphRenderer$$anonfun$removeRenderers$1.class 
org/graphstream/ui/j2dviewer/J2DGraphRenderer$$anonfun$render$1.class 
org/graphstream/ui/j2dviewer/J2DGraphRenderer$$anonfun$removeRenderers$3.class 
org/graphstream/ui/j2dviewer/J2DGraphRenderer$$anonfun$removeRenderers$2.class 

dass gs-ui-1.3.jar im Classpath zur Laufzeit Überprüfen:

 
$ ls -1 lib/*1.3.jar 
lib/gs-algo-1.3.jar 
lib/gs-core-1.3.jar 
lib/gs-ui-1.3.jar 

J2DGraphRenderer und seine inneren Klassen können in gs-ui-1.3.jar finden

 
$ javac -cp .:lib/* ahd.java 
$ java -cp .:lib/* ahd 

image

Beachten Sie, dass classpath syntax is OS-dependent.

Verwandte Themen