Windows环境下Repast Simphony中JDK无法正确读取包问题求助
问题
我运行自定义Repast模型时遇到NoClassDefFoundError错误,相关信息如下:
引发错误的代码行:
import com.vividsolutions.jts.geom.Geometry;
收到的错误日志:
FATAL [AWT-EventQueue-0] 14:43:35,367 MessageCenter.INTERNAL.repast.simphony.ui.RSUIPlugin - Fatal error starting Repast java.lang.NoClassDefFoundError: Geometry
我和团队成员采用完全相同的Repast、Eclipse安装步骤(安装Repast Symphony、Oracle JDK 11并配置环境变量、在Eclipse中设置JDK 11为默认JRE),但只有我出现这个问题,该模型在其他人机器上能正常运行。
解决方案
这个错误核心是JTS(Java Topology Suite)几何库未被正确引入项目依赖,Repast Symphony依赖该库处理空间几何相关操作,按以下步骤排查修复:
检查项目依赖库
- 右键项目 → 打开「Properties」→ 进入「Java Build Path」→ 切换到「Libraries」标签
- 确认列表中存在
jts-core.jar(或类似命名的JTS相关jar包),如果没有:- 找到你的Repast安装目录,在
repast-symphony-x.x.x/lib路径下找到JTS的jar文件 - 点击「Add External JARs」,选中该jar包添加到项目中
- 找到你的Repast安装目录,在
验证Repast插件完整性
- 打开Eclipse的「Help」→「Installed Software」,查看Repast相关插件是否完整,有没有缺失组件
- 如果插件存在损坏或遗漏,先卸载现有Repast插件,再重新安装对应版本
同步项目.classpath配置
- 项目根目录下的
.classpath文件管理着依赖路径,对比团队成员的该文件,确保你的配置中包含JTS库的引用,比如:<classpathentry kind="lib" path="lib/jts-core.jar"/> - 直接复制团队成员的正确配置覆盖你的文件,然后右键项目选择「Refresh」刷新
- 项目根目录下的
清理重建项目
- 点击Eclipse顶部菜单「Project」→「Clean」,选择你的Repast项目执行清理
- 清理完成后右键项目→「Build Project」,重新构建后尝试运行模型
内容的提问来源于stack exchange,提问作者William A Anderson
相关产品推荐
相关产品推荐

