Repast 模型发布的问题

Problems with Repast Model Launch

在 Windows 10 系统上全新安装 Repast Symphony 2.5.0(Win 64 位)和 JDK 9.0.1 后,导入 JZombies_Demo 示例时,模型无法使用默认配置启动。

错误说:

    An internal error occurred during: "Launching JZombies_Demo Model".
    org.codehaus.groovy.eclipse.core.builder.GroovyClasspathContainer.<init>(Lorg/eclipse/core/resources/IProject;)V

当我编辑默认 运行 配置时,在“依赖项”选项卡中我只看到 JRE 系统库,没有其他任何东西。在同一个选项卡中,启用了恢复默认条目 - 当我按下它时,添加了 Repast Symphony 的所有依赖项,并且之前的错误消失了。但是,在这种情况下,当尝试启动时会观察到另一个错误:

     saf.core.runtime.Boot - null
     java.lang.NullPointerException
     at saf.core.runtime.Boot.init(Boot.java:79)
     at saf.core.runtime.Boot.main(Boot.java:246)
     at repast.simphony.runtime.RepastMain.main(RepastMain.java:43)

我也在 Repast Mailing List 上看到了这个问题,看到人们谈论 X\eclipse\plugins\repast.simphony.runtime_2.5.0 文件夹中缺少 boot.properties 文件。但是,该文件在那里就位。因此,我尝试将此 link 归因于之前的错误,并看到 (RepastMain.java:43) 处的 pathInfo 值实际上是 X\eclipse\plugins\repast.simphony.bin_and_src_2.5.0。因此,我尝试将 boot.properties 从 运行time 目录复制到 bin_and_src - 这消除了之前的错误,但带来了一些与 UI 初始化相关的警告和一个错误:

     repast.simphony.ui.RSUIPlugin - Fatal error starting Repast
     java.lang.NoSuchMethodError: com.jgoodies.forms.layout.ColumnSpec.createGap(Lcom/jgoodies/forms/layout/ConstantSize;)Lcom/jgoodies/forms/layout/ColumnSpec;
at com.jgoodies.forms.layout.FormSpecs.<clinit>(FormSpecs.java:115)
at repast.simphony.ui.RunOptionsPanel.initComponents(RunOptionsPanel.java:114)
at repast.simphony.ui.RunOptionsPanel.<init>(RunOptionsPanel.java:39)
at repast.simphony.ui.RSGui.addRunOptionsView(RSGui.java:558)
at repast.simphony.ui.RSApplication.initGui(RSApplication.java:655)
at repast.simphony.ui.RSAppConfigurator.fillBars(RSAppConfigurator.java:52)
at saf.core.ui.GUICreatorDelegate.createDisplay(GUICreatorDelegate.java:160)
at saf.core.ui.GUICreator.createDisplay(GUICreator.java:12)
at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:102)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue.access0(Unknown Source)
at java.desktop/java.awt.EventQueue.run(Unknown Source)
at java.desktop/java.awt.EventQueue.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

看到这一切后,已经够沮丧了,并尝试重新安装 Repast 并且 JDK 情况仍然没有改变。还需要注意,在其他示例和新创建的 Repast 项目中观察到相同的行为。

很高兴听到您对导致这种就餐行为的原因的看法。

这似乎是 Java 9 兼容性的问题。您可以尝试使用最新的 Java 8 进行全新安装吗?与此同时,我们将跟进 Java 9 兼容性需要对 Repast Simphony 进行哪些更改。