2016-10-12 4 views
0

Я пытаюсь загрузить файл geotiff с помощью gdal api (java). Вот мой тестовый код.Ошибка при открытии файла gdal java

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) 

Я использую Maven проект, поэтому я добавил в библиотеку GDAL зависимость

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

Я использую Windows 10 и установленной GDAL 2.1.0. Я уже установил переменную окружения GDAL_DATA и каталог Gdal в пути.

Я что-то не хватает?

ответ

0

Страшные UnsatisfiedLinkErrors - довольно распространенные проблемы, когда приходится иметь дело с родными библиотеками.

Обычно вам необходимо установить параметр VM java.library.path, чтобы Java мог найти собственные библиотеки.

See an example here

Another gdal related unsatisfied link error issue here

+0

У меня нет выполнения выполнения –

+0

У меня нет проблем с выполнением g ogr.RegisterAll(), gdal.AllRegister(), gdal.VersionInfo(). Но я все еще имею ту же ошибку, когда я использую метод gdal.open ("") –

1

я решить эту проблему. Я заменил jar-файл, расположенный в репозитории maven (C: \ Users \ Myuser.m2 \ repository \ org \ gdal \ gdal \ 2.1.0) файлом jar, расположенным в папке gdal (C: \ Program Files \ GDAL). И теперь это работает.

+0

Я имею в виду файл jar в C: \ Program Files \ GDAL \ java –

Смежные вопросы