我遇到了一个错误,当 Eclipse 提示时,它会阻止 repast simphony 运行。在出现提示时,该窗口会消失并且错误消息会出现在 Eclipse 中,而不是运行模型。
我在 Mac 上执行的步骤(用于就餐 simphony 设置)是:
1) 从 Adopt Open JDK 下载 Java 8 JDK(因为我需要 Java 8 以后才能使用 repast 3D)。将包复制到 /Library/Java/JavaVirtualMachines。
2) 下载 Eclipse IDE for Eclipse Committers 2019-06 并放入 Applications 文件夹。
3)从更新站点(https://dist.springsource.org/release/GRECLIPSE/3.4.0/e4.12 )安装Groovy Eclipse 3.4.0 ,并从这里安装Eclipse Groovy开发工具和Groovy编译器2.4 Eclipse 中的链接。
4)在 Eclipse 中从https://repocafe.cels.anl.gov/repos/repast安装 repast simphony 2.7.0 。
5) 在 Eclipse 中将 Groovy 编译器设置为 2.4.17。
6) 导入就餐示例
7) 选择一个演示模型(例如,GeoZombies)并尝试运行。
完成上述第 7 步后,我会收到几条控制台警告消息:
警告:发生了非法反射访问操作警告:com.thoughtworks.xstream.core.util.Fields 的非法反射访问(文件:/Applications/Eclipse.app/Contents/Eclipse/plugins/repast.simphony.runtime_2.7.0/ lib/xstream-1.4.7.jar) 到字段 java.util.TreeMap.comparator 警告:请考虑将此报告给 com.thoughtworks.xstream.core.util.Fields 的维护者 警告:使用 --illegal-access=warn启用对进一步非法反射访问操作的警告警告:所有非法访问操作将在未来版本中被拒绝
即使 Eclipse 控制台中出现此错误,repast simphony 的 Java 窗口也会打开。但是,当我在 GeoZombies 的 Java 窗口中单击“开始运行”按钮时,Java 窗口会在没有警告的情况下关闭,并且 Eclipse 控制台会产生以下错误:
2019-12-03 11:03:46.637 java[63571:533520] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“NSWindow 拖动区域只能在主线程上无效!” *jnilib 0x0000000136bfdf9e Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 398 7 ??? 0x000000011e0f5c90 0x0 + 4799290512 ) libc++abi.dylib:以 NSException 类型的未捕获异常终止
我将不胜感激有人可以提供有关如何解决此错误并使就餐 simphony 正常工作的任何帮助。谢谢你。