1

我正在尝试从命令行使用 BehaviorSpace 进行实验,但 BehaviorSpace 没有加载扩展。有一个类似的问题,但是我既不能理解答案也不能发表评论,所以我将在这里解释我的问题。

我修改了 fire.nlogo 模型,通过 GUI 添加了一个名为“experiment1”的随机实验,并从指南中复制粘贴:

java -Xmx1024m -Dfile.encoding=UTF-8 -cp ~/Desktop/netlogo-6.0-M6-64/app/NetLogo.jar\
org.nlogo.headless.Main \
--model "~/Desktop/netlogo-6.0-M6-64/app/models/Sample Models/Earth Science/Fire.nlogo" Fire.nlogo" \
--experiment experiment1 \
--table -

这行得通。

然后我添加

"extensions[csv]" 

作为模型中的第一行并运行完全相同的命令。这就是我得到的:

Exception in thread "main" Can't find extension: csv at position 11 in 
at org.nlogo.core.ErrorSource.signalError(ErrorSource.scala:11)
at org.nlogo.workspace.ExtensionManager.importExtension(ExtensionManager.scala:171)
at org.nlogo.parse.StructureParser$$anonfun$parsingWithExtensions$1.apply(StructureParser.scala:70)
at org.nlogo.parse.StructureParser$$anonfun$parsingWithExtensions$1.apply(StructureParser.scala:69)
at scala.collection.immutable.List.foreach(List.scala:381)
at org.nlogo.parse.StructureParser$.parsingWithExtensions(StructureParser.scala:69)
at org.nlogo.parse.StructureParser$.parseSources(StructureParser.scala:35)
at org.nlogo.parse.FrontEndMain$class.frontEnd(FrontEnd.scala:28)
at org.nlogo.parse.FrontEnd.frontEnd(FrontEnd.scala:16)
at org.nlogo.compiler.CompilerMain$.compile(CompilerMain.scala:28)
at org.nlogo.compiler.Compiler.compileProgram(Compiler.scala:54)
at org.nlogo.headless.HeadlessModelOpener.openFromModel(HeadlessModelOpener.scala:68)
at org.nlogo.headless.HeadlessWorkspace.openModel(HeadlessWorkspace.scala:544)
at org.nlogo.headless.HeadlessWorkspace.openFromSource(HeadlessWorkspace.scala:540)
at org.nlogo.headless.HeadlessWorkspace.openString(HeadlessWorkspace.scala:526)
at org.nlogo.headless.HeadlessWorkspace.open(HeadlessWorkspace.scala:508)
at org.nlogo.headless.Main$.org$nlogo$headless$Main$$newWorkspace$1(Main.scala:19)
at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
at org.nlogo.lab.Lab$$anonfun$2.apply(Lab.scala:33)
at org.nlogo.lab.Lab$$anonfun$2.apply(Lab.scala:33)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.immutable.Range.foreach(Range.scala:160)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
at scala.collection.AbstractTraversable.map(Traversable.scala:104)
at org.nlogo.lab.Lab.run(Lab.scala:33)
at org.nlogo.headless.Main$.runExperiment(Main.scala:24)
at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
at scala.Option.foreach(Option.scala:257)
at org.nlogo.headless.Main$.main(Main.scala:14)
at org.nlogo.headless.Main.main(Main.scala)

如果我用 Netlogo 5.3.1-64 重复这个过程,我会得到一个不同的错误,从

java.lang.IllegalStateException: Can't find extension: csv/csv.jar

我尝试了位图扩展而不是 CSV,但没有运气。值得注意的是,如果我从 GUI 启动实验,它就会起作用。

我使用 Ubuntu 16.10 和 java-1.8.0-openjdk-amd64。

4

1 回答 1

1

我有一个类似的问题。

对我来说,当我将文件夹extensions从文件夹复制NetLogo/app/到文件NetLogo夹(netlogo-headless.sh通常位于的位置)时,它就解决了。

于 2017-11-17T07:37:13.043 回答