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

在Eclipse中遇到java.lang.UnsatisfiedLinkError该如何解决?

问题分析与解决办法

你的程序打包成可执行JAR能在Win10正常运行,但Eclipse里跑不了,核心原因是Eclipse运行环境下GDAL本地库的依赖或加载路径配置不对。先把报错信息翻译过来:

本地库加载失败。
java.lang.UnsatisfiedLinkError: C:\openJDK\jdk-19.0.1\bin\gdalalljni.dll: 找不到指定的过程
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: 'int org.gdal.gdal.gdalJNI.HasThreadSupport()'
at org.gdal.gdal.gdalJNI.HasThreadSupport(Native Method)
at org.geotools.jdbcconnection.MainDialog.(MainDialog.java:371)

下面是具体的排查和修复步骤:

1. 补全GDAL本地库的依赖文件

gdalalljni.dll不能单独运行,它需要GDAL的其他核心.dll文件(比如gdal3xx.dll、proj_x_x.dll这类)配合。你要确认所有GDAL相关的.dll文件都放在同一个目录里,要么是C:\openJDK\jdk-19.0.1\bin\,要么是单独的GDAL库目录,别漏了任何依赖。

2. 配置Eclipse的本地库路径

  • 右键项目 → Build Path → Configure Build Path
  • 切到Libraries标签,找到GDAL的Java绑定JAR(比如gdal.jar),展开后点Native library location,再点Edit
  • 选择GDAL所有.dll文件所在的目录(比如C:\GDAL\bin),别再用JDK的bin目录了,除非你已经把所有GDAL依赖库都复制过去

3. 核对JDK与GDAL的版本兼容性

你用的是OpenJDK 19,得确认你用的GDAL版本支持Java 19。不少旧版GDAL的Java绑定只兼容到Java 11或17,版本不匹配会导致JNI方法签名对不上,就会出现找不到方法的错误。要么换OpenJDK 17这种GDAL支持的版本,要么下载适配Java 19的GDAL版本。

4. 设置Eclipse运行的VM参数

  • 右键项目 → Run As → Run Configurations
  • 在Arguments标签的VM arguments里加一行:
    -Djava.library.path=C:\GDAL\bin
    
    把路径换成你实际存放GDAL.dll的目录
  • 另外,确保系统的PATH环境变量里也包含GDAL的bin目录,这样Eclipse运行时能找到依赖库

5. 清理重建项目

  • 点Eclipse顶部的Project → Clean,选你的项目清理
  • 再点Project → Build Project,确保配置和编译都生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:05:23