You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse手动导入OR-Tools jar运行报com/sun/jna/Platform类缺失问题咨询

问题根因

你碰到的java.lang.NoClassDefFoundError: com/sun/jna/Platform是典型的依赖缺失错误:OR-Tools的Java封装层靠JNA实现对底层C++动态库的调用,你手动导入jar时只添加了OR-Tools本身的核心包,漏了它依赖的JNA相关组件,运行时自然找不到对应类。

可行方案

完全可以直接拷贝编译生成的依赖jar到自定义Eclipse项目使用,不需要强制依赖Maven管理包,按步骤操作即可:

  • 先找到你本地执行make run成功后生成的依赖存放目录,通常在OR-Tools编译输出路径下的lib子文件夹里,把以下几个必须的jar全部找齐:
    • 对应版本的ortools-java核心jar
    • 和你当前操作系统匹配的OR-Tools本地适配jar(不同系统命名带win/linux/darwin标识,别错用跨系统的包)
    • jna-xxx.jar 就是你当前缺失的JNA核心包,一定要用编译时自带的版本,不要随便用其他来源的版本,很容易出现版本不兼容问题
    • jna-platform-xxx.jar JNA平台适配依赖
  • 在你自己的Eclipse项目根目录新建lib文件夹,把上面找齐的所有jar全部拷贝进去
  • 选中lib文件夹下所有jar,右键依次选择Build Path -> Add to Build Path,把所有包加入项目构建路径
  • 打开项目运行配置,切到Classpath标签页,确认刚才添加的所有jar都已经在类路径条目里,没有遗漏
注意事项

不要混用不同来源、不同版本的OR-Tools包和JNA包,直接从你本地已经能正常运行make run的编译产物里拷贝依赖是最稳妥的,不会出现版本匹配问题。配置完成后直接运行线性规划示例代码即可正常启动,和make run的运行效果完全一致。


内容的提问来源于stack exchange,提问作者ABuNeNe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 07:06:19