打开文件gdal java时出错

打开文件gdal java时出错,java,gdal,geotiff,Java,Gdal,Geotiff,我正在尝试用GDALAPI(java)加载geotiff文件。这是我的测试代码 public class App { public static void main( String[] args ) { gdal.AllRegister(); Dataset dataset = gdal.Open("output.tif"); } } 但我有一个错误 Exception in thread "main" java.lang.Unsati

我正在尝试用GDALAPI(java)加载geotiff文件。这是我的测试代码

public class App 
{
    public static void main( String[] args )
    {
        gdal.AllRegister();
        Dataset dataset = gdal.Open("output.tif");
    }
}
但我有一个错误

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.Dataset_SWIGUpcast(J)J
at org.gdal.gdal.gdalJNI.Dataset_SWIGUpcast(Native Method)
at org.gdal.gdal.Dataset.<init>(Dataset.java:20)
at org.gdal.gdal.gdal.Open(gdal.java:585)
at org.gdaltest.projection.App.main(App.java:18)
线程“main”java.lang.UnsatisfiedLinkError中的异常:org.gdal.gdal.gdalJNI.Dataset\u SWIGUpcast(J)J 在org.gdal.gdal.gdalJNI.Dataset_SWIGUpcast(本机方法) 位于org.gdal.gdal.Dataset(Dataset.java:20) 位于org.gdal.gdal.gdal.Open(gdal.java:585) 位于org.gdaltest.projection.App.main(App.java:18) 我使用的是maven项目,所以我添加了gdal依赖项

<dependency>
    <groupId>org.gdal</groupId>
    <artifactId>gdal</artifactId>
    <version>2.1.0</version>
</dependency>

org.gdal
格达尔
2.1.0
我正在使用windows 10并安装了gdal 2.1.0。我已经在path中设置了环境变量GDAL_DATA和GDAL目录


我遗漏了什么吗?

在处理本机库时,可怕的不满意链接错误是非常常见的问题

通常,您需要设置java.library.path VM参数,以便java能够找到本机lib


我解决了这个问题。我将位于repository maven中的jar文件(C:\Users\Myuser.m2\repository\org\gdal\gdal\2.1.0)替换为位于gdal文件夹(C:\Program Files\gdal)中的jar文件。现在它工作了。

我没有问题执行我没有问题执行ogr.registeral()、gdal.AllRegister()、gdal.VersionInfo()。但是当我使用方法gdal.open(“”)时,我仍然有相同的错误,我的意思是C:\ProgramFiles\gdal\java中的jar文件