2016-04-12 28 views
2

Ich glaube, ich muss mich für solch eine grundlegende Frage entschuldigen, aber ich bekomme einen Fehler, der einfach versucht, BehaviorSpace-Experimente im Headless-Modus auszuführen. Ich habe versucht, meine eigenen Modellversuche über die Befehlszeile auszuführen, habe aber einen Fehler erhalten. Also habe ich versucht, die genauen Anweisungen in der BehaviorSpace-Dokumentation zu befolgen. Dazu habe ich im Fire.nlogo-Modell "experiment1" ein BehaviorSpace-Experiment erstellt (siehe Screenshot) und dann versucht, Befehle auszuführen, um experiment1 über die Befehlszeile auszuführen. Der Screenshot des Terminals zeigt, dass ich zuerst das Verzeichnis eingerichtet habe, in dem ich NetLogo 5.3 installiert habe, und dann versucht habe, die Befehle aus der BehaviorSpace-Dokumentation auszuführen. Der Screenshot des Terminals zeigt auch den Java-Fehler, den ich bekomme. Ich habe das Terminal nie zuvor benutzt und bin mir nicht sicher, was ich falsch mache, aber ich bin mir sicher, dass mir etwas Einfaches fehlt.Fehler beim Versuch kopflos zu laufen BehaviorSpace

Ich verwende Mac OS X und NetLogo 5.3. Vielen Dank für Ihre Zeit. enter image description hereenter image description here

+0

Ich denke, Sie haben möglicherweise Probleme mit Ihrer JAR-Datei. Haben Sie Netlogo.jar den Umgebungsvariablen hinzugefügt? Ich würde einen absoluten Weg dazu benutzen. – mattsap

+0

@mattsap Ich glaube, Sie müssen auf dem richtigen Weg sein. Ein genauerer Blick auf die BehaviorSpace-Dokumentation ergab "(Damit dies funktioniert, muss NetLogo.jar zusammen mit dem lib-Unterverzeichnis vorhanden sein, das die erforderlichen Bibliotheken enthält. NetLogo.jar und lib sind in NetLogo enthalten.)". Ich kenne jedoch kein Java, und es scheint keine offensichtlichen Anweisungen zu geben, wie das gemacht werden kann. Ich benutze Mac und gefunden (http://stackoverflow.com/questions/22842743/setting-java-home-environment-variable-on-mac-osx-10-9) für die Einstellung JAVA_HOME Variablen, aber ich weiß nicht, ob Das ist es, was ich tun muss. – user3887089

+0

Ich glaube nicht, dass Ihr Problem mit Java-Programmierung überhaupt ist. Ich denke, es ist dein Glas Ort. – mattsap

Antwort

0

Das Problem ist, dass In der Java-Datei von NetLogo befinden sich die JAR-Datei und die Lib-Datei. Daher erlaubt eine einfache Hinzufügung von Java/in dem folgenden Code, dass alle Dateien gefunden werden.

java -Xmx1024m -Dfile.encoding=UTF-8 -cp Java/NetLogo.jar \ 
    org.nlogo.headless.Main \ 
    --model Fire.nlogo \ 
    --experiment experiment1 \ 
    --table mytable.csv 
0

Scheint, Sie arbeiten nicht im richtigen Verzeichnis.

Sie müssen cd in das NetLogo Verzeichnis: Für mich:

netlogo_directory = "/Applications/NetLogo 5.2" 

so

cd /Applications/NetLogo\ 5.2 

Dann können Sie Ihren Befehl ausführen:

java -Xmx2048m -Dfile.encoding=UTF-8 -cp ./Netlogo.jar org.nlogo.headless.Main --model /path/to/your/file/name/filename.nlogo --experiment experimentname --table /path/to/log/with/filename.csv --spreadsheet /path/tp/spreadsheet/with/filename.csv 
+0

thx wieder für Ihren Kommentar. In der Tat war ich nicht im richtigen Verzeichnis, sondern ich war in dem Ordner, der den Ordner NetLogo 5.3 enthielt. Frustrierend, wenn ich in das richtige Verzeichnis cd, der gleiche Fehler existiert (ich habe den Screenshot bearbeitet, um dies zu zeigen). Ich habe auch versucht, das "./" hinzuzufügen, das Sie vor "./Netlogo.jar" im obigen Kommentar eingefügt haben, aber dies machte auch keinen Unterschied im Ergebnis. – user3887089

+0

Ich sehe nicht, wo sich Ihre Fire.nlogo-Datei in Ihrem Screenshot befindet. Ich denke, du nennst es stattdessen mymodel.nlogo. – mattsap

+0

Außerdem haben Sie ein Extra - am Ende ohne Namen für was die Tabellenausgabe sein sollte. – mattsap

Verwandte Themen