1. 使用編譯好的安裝jdal
http://www.gisinternals.com/release.php
gdal-111-1800-x64-core.msi下載地址:http://download.gisinternals.com/sdk/downloads/release-1800-x64-gdal-1-11-3-mapserver-6-4-2/gdal-111-1800-x64-core.msi
2. 配置maven
pom.xml
<dependency> <groupId>org.gdal</groupId> <artifactId>gdal</artifactId> <version>1.11.2</version> </dependency>
3. 配置環境變量
GDAL_BIN=C:\Program Files\GDAL GDAL_DATA=C:\Program Files\GDAL\gdal-data GDAL_DRIVER=C:\Program Files\GDAL\gdalplugins
4. 問題
Nativelibraryloadfailed.
java.lang.UnsatisfiedLinkError:noogrjniinjava.library.path
Exceptioninthread"main"java.lang.UnsatisfiedLinkError:RegisterAll
atorg.gdal.ogr.ogrJNI.RegisterAll(NativeMethod)
atorg.gdal.ogr.ogr.RegisterAll(ogr.java:115)
atcom.gdal.vector.ShapeFileWrite.main(ShapeFileWrite.java:20)
方法1、直接將dll文件放在java工程根目錄下面。
GDAL Java demo編譯成功。優點:思路簡單、32為、64位dll可以很方便的切換。缺點:每次新建工程都需要拷貝這些dll,增加工程文件大小,操作繁瑣。
方法2、設置系統環境變量指定dll路徑,將其加入Path中
在操作系統中運行一個程序(命令)時,如果沒有指定絕對路徑,它會先去程序本身所在的路徑下面去尋找可執行文件,當找不到這些文件的時候,會去環境變量Path下面去尋找需要的東西。所以我們只需要將這個GDAL dll的路徑加入到Path里面就行了,
右鍵計算機——》屬性——》高級系統設置——》環境變量——》新建系統變量:
新建兩個系統變量GDAL32_DLL
變量名:GDAL32_DLL
變量值:C:\GDAL\release-1600-win32-dev\release-1600\bin;C:\GDAL\release-1600-win32-dev\release-1600\bin\gdal\java
名字可以自己定義,指定GDAL DLL路徑位置,和GDAL java版編譯出路徑。
在Path前面增加(如果沒有Path系統變量,則新建)"%GDAL32_DLL%;",即path變為
%GDAL32_DLL%;%JAVA_HOME%/。。。。。。
注意:將dll加入Path后,需要重啟電腦,或者先注銷后在進入windows系統,才會生效。