MacOS下Eclipse安装Google OR-Tools运行示例报类缺失错误
OR-Tools Eclipse 项目报
NoClassDefFoundError: com.sun.jna.Platform 修复方案 报错根因
触发的核心异常为:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Platform Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform
该问题属于典型的类路径依赖缺失。OR-Tools 的 Java 侧原生库加载逻辑完全依赖 JNA(Java Native Access)组件实现跨平台本地库调度,当前项目仅导入了 OR-Tools 主体 JAR 包,未引入 JNA 相关依赖文件,导致类加载器无法定位 com.sun.jna.Platform 类,在调用 OR-Tools 自带的原生库加载器时直接抛出错误。
修复操作
- 进入本地已解压完成的 OR-Tools 二进制包目录,打开其中的
lib子目录,找到目录下附带的jna.jar、jna-platform.jar两个核心依赖包,这两个是 OR-Tools 官方匹配过版本的适配文件。 - 打开 Eclipse 项目构建路径配置:右键对应项目 → 依次选择
Build Path→Configure Build Path。 - 切换到
Libraries标签页,点击Add External JARs,定位到刚才找到的两个 JNA JAR 文件,确认导入。 - 核对项目下的
Referenced Libraries列表,确认两个 JNA 包已正常加载,重新运行示例代码即可。
注意:不要随意导入网络上零散获取的其他版本 JNA 包,版本不匹配可能会触发原生库调用的兼容性问题,优先使用 OR-Tools 发行包自带的依赖文件;如果发行包未附带对应文件,可参照官方依赖清单中标注的匹配版本导入对应 JNA 包。
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

