2

在 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

当我编辑默认运行配置时,在 Dependencies 选项卡中,我只看到 JRE System Library 而没有其他任何东西。在同一个选项卡中,启用了恢复默认条目 - 当我按下它时,添加了来自 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 上阅读了有关此问题的信息,并看到人们谈论boot.properties文件X\eclipse\plugins\repast.simphony.runtime_2.5.0夹中丢失的文件。但是,该文件在那里放置得很好。因此,我尝试将其与上一个错误联系起来,并看到(RepastMain.java:43)pathInfo值实际上是X\eclipse\plugins\repast.simphony.bin_and_src_2.5.0. 因此,我尝试将boot.properties运行时目录中的 复制到 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$1.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.access$500(Unknown Source)
at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
at java.desktop/java.awt.EventQueue$3.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 项目也观察到相同的行为。

很高兴听到您对导致这种 Repast 行为的原因的意见。

4

1 回答 1

5

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

于 2017-12-07T16:45:00.990 回答