在 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 行为的原因的意见。