今天在公司git下來的新項目,啟動時說沒有gdal環境報錯,
要么就是報 no gdalallini in java.library.path
要么就是報 can’t find dependent libraries
于是找了好久的教程,都是魚龍混雜,各種辦法都試了,都沒有用,最后一點點琢磨出來了。
網上的那些讓你往jre的bin中放東西,或者改環境變量這些,都不需要。
少走彎路,少改配置。
官網:https://www./release.php
題外話:國外的網站這一步可能連不上,大家想想辦法,都知道的。
實在訪問不了,我把網盤貼在下面了,只存了一個版本,根據需求下載32位和64位:
如果可以訪問,打開官網之后會看到如下界面,根據自己系統下載32位或64位:

點進去之后,選第一個即可,一個幾十M的包,很快就下完了

二、解壓
解壓出來是這樣的

三、引用
打開路徑
release-1928-x64-gdal-3-9-1-mapserver-8-2-0/bin/gdal/java
里面有個gdal的jar包

把gdal.jar包復制出來,放到項目文件夾中,作為項目lib包
main啟動,static加載,但這時候你會發現,報錯了。

四、導入dll文件(重要)
還是上一步的目錄,把名字為gdalalljni.dll的文件復制出來

找到自己的java安裝目錄,我這里是 F:\java\bin

把gdalalljni.dll文件粘貼進去。

再次啟動項目,這時候新錯誤出現了

(重要)然后,找到gdal解壓目錄下的bin目錄
release-1928-x64-gdal-3-9-1-mapserver-8-2-0\bin
把所有的dll文件挑出來

全選,粘貼到jdk目錄中的bin中

五、再次啟動

這時候就已經加載成功了。
注:
- SpringBoot使用maven打jar包的時候,記得把gdal包打進去,像這樣。
 - mac系統可能和windows略有出入,但原理都是一樣的,mac系統的動態庫dll應該是so文件
- 線上環境的jdk操作也如此,記得看好系統是32位還是64位,下載對應的文件,步驟同windows
|