Linux(centos7)构建Gdal环境Caused by: java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.AllRegister()

本文讲述了作者在使用Java与GDAL进行坐标转换时遇到UnsatisfiedLinkError,介绍了在Linux环境下安装GDAL的详细步骤,包括预装环境(如JDK,ANT等)、编译GDAL并将其与Java集成的过程以及环境变量配置。
摘要由CSDN通过智能技术生成
写篇文章记录一下 关于java用gdal做坐标转换分享遇到了Caused by: java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.AllRegister()V这个错误 ,就是 gdal构建的的时候没有加载到gdal.jar.这个jar包需要在linux中进行编译和安装生成的 在这里需要注意win的gdal.jar和linux的gdal.jar不一样.下面是linux的的整个过程了.

二进制安装包我放在百度云了需要自取:链接:https://pan.baidu.com/s/1w9kOb2vsQemhvnhw6hS2SA?pwd=6xem 
提取码:6xem 

linuxGDAL环境安装

1.安装准备的环境:
名称类型与版本软件连接
服务器linux-centos7.5
jdkjava-1.8.0-openjdk-devel
ant1.9.14详见资料目录
pcre8.43详见资料目录
swig2.0.9详见资料目录
proj6.0.0详见资料目录
geos3.7.2详见资料目录
gdal3.0.0详见资料目录
2.安装流程
2.1创建文件夹将上述安装包上传到服务器
#1.创建存放资源的目录
    mkdir /export/software/ -p
#2.进入到该目录把资源上传进去
    cd /export/software/
2.2安装gcc-c++环境
# 1.首先查看当前服务器中是否存在gcc环境
    cd /usr/bin 
# 2.如果有gcc,g++,则存在,如果没有,用下面命令安装
    yum install -y gcc-c++      
​
2.3安装jdk
#1.更新系统
    sudo yum update
#2.下载 Java 8 软件包
    sudo yum install java-1.8.0-openjdk-devel
#3.验证 Java 安装是否成功
    java -version
#输出应该显示 Java 版本信息,确认安装成功。
​
#4.配置环境变量
    vi /etc/profile
​
    #JAVA_HOME
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$PATH
#修改之后保存
​
#5.使环境变量生效
    source /etc/profile
2.4安装ant
#1.下载解压即可
    tar -zxvf apache-ant-1.9.14-bin.tar.gz -C /home/gdal/
​
#2.配置环境变量:
    vi /etc/profile
​
    #ANT_HOME
    export ANT_HOME=/home/gdal/apache-ant-1.9.14
    export PATH=$PATH:$ANT_HOME/bin
#修改之后保存
​
#3.使环境变量生效
    source /etc/profile
​
#4.验证 ant 安装是否成功
    ant -version  
#输出应该显示 ant 版本信息,确认安装成功。
​
#5.返回资源目录
    cd /export/software/
2.5安装pcre
#1.解压后进入根目录进行
    tar -zxvf pcre-8.43.tar.gz -C /home/gdal/
​
#2.进入解压目录
    cd /home/gdal/pcre-8.43
​
#3.编译(如果没有gcc-c++可能会编译失败)
    ./configure --enable-utf8 
    make
    make check
    make install
​
#4.返回资源目录
    cd /export/software/
2.6安装swig
# 1.解压后进入根目录进行
    tar -zxvf swig-2.0.9.tar.gz -C /home/gdal/
#2.进入解压目录
    cd /home/gdal/
#3.更改名称
    mv swig-2.0.9 swig-2.0.9_Install
#4.再次在swig中进行
    cd swig-2.0.9_Install
#5.编译安装 
    ./configure --prefix=/home/gdal/swig-2.0.9
    make && make install
#6.配置环境变量:
    vi /etc/profile
​
    #swig
    export SWIG_HOME=/home/gdal/swig-2.0.9
    export PATH=$JAVA_HOME/bin:$SWIG_HOME/bin:$PATH
​
#7.使环境变量生效
    source /etc/profile
​
#8.验证 swig 安装是否成功
    swig -version  
#输出应该显示 swig 版本信息,确认安装成功。
​
#9.返回资源目录
    cd /export/software/
​
2.7安装proj
# 1.如果出现 no package for sqlite3。执行下面的操作。(可以先执行安装一下,避免出现错误)
    yum install -y sqlite-devel
    
# 2.解压
    tar -zxvf proj-6.0.0.tar.gz -C /home/gdal/
#3.进入解压目录
    cd /home/gdal/proj-6.0.0
#4.编译安装
    ./configure
    make && make install
​
#5.返回资源目录
    cd /export/software/
​
2.8安装geos
#1.安装.bz2 格式的解压软件
    yum -y install bzip2
#2.解压
    tar -jxvf geos-3.7.2.tar.bz2 -C /home/gdal/
#3.进入解压目录
    cd /home/gdal/geos-3.7.2
#4.编译安装
    ./configure 
    make && make install
​
#5.返回资源目录
    cd /export/software/
2.9安装gdal
#1. 5步骤和6步骤均是gdal本身依赖库,所以在安装gdal之前需要配置动态库让gdal能够找到。
    cd /etc/ld.so.conf.d/
    touch local.conf
    echo "/usr/local/lib" > local.conf
#2.过ldconfig -v可以查看动态库连接信息:
    ldconfig -v
#3.信息如下(类似这种的):
    /usr/local/lib:
        libgdalalljni.so.20 -> libgdalalljni.so
        libgdal.so.20 -> libgdal.so.20.5.1
        libgeos_c.so.1 -> libgeos_c.so.1.11.1
        libgeos-3.7.1.so -> libgeos.so
        libproj.so.15 -> libproj.so.15.0.0
        libpcrecpp.so.0 -> libpcrecpp.so.0.0.1
        libpcreposix.so.0 -> libpcreposix.so.0.0.6
        libpcre.so.1 -> libpcre.so.1.2.11
#4.解压
    tar -zxvf gdal-3.0.0.tar.gz -C /home/gdal/
#5.进入解压目录
    cd /home/gdal/gdal-3.0.0
#6.编译
    ./configure --with-static-proj4=/export/servers/gdal/proj-6.0.0 --with-java=$JAVA_HOME
# 上面步骤如果执行完在最后的信息中如果有(有就yes没有也没关系)
    GEOS support = yes字样
    
#7.安装(时间可能会比较长)
    make && make install
#8.gdal进行java的转换需要修改swig对应的文件
#修改文件:gdal根目录/swig/java/java.opt,添加JAVA_HOME的值为java的根目录。
    vi /home/gdal/gdal-3.0.0/swig/java/java.opt
将 JAVA_HOME的环境路径添加到文件最后 
    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
#9.获取gdal.jar
# 在路径:gdal根目录/swig/java中执行make && make install
    cd /home/gdal/gdal-3.0.0/swig/java
    make && make install
#10.把gdal根目录/swig/java中生成的gdal.jar文件复制到$JAVA_HOME/jre/lib/ext下
    cp gdal.jar /usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/
#11./usr/lib/jvm/java-1.8.0-openjdk
    cp *.so *.lo *.o *.la *.a /home/console/jdk1.8.0_111/jre/lib/amd64/server/
#12.然后在/etc/profile中添加GDAL环境变量
    vi /etc/profile
    #GDAL环境变量   
    export LD_LIBRARY_PATH=.:$JAVA_HOME/jre/lib/amd64/server
#13.使环境变量生效
    source /etc/profile
#14.将依赖的动态库和静态库添加到LD_LIBRARY_PATH环境变量中去。
    vim ~/.bashrc
    #GDAL变量
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
#13.使环境变量生效
    source ~/.bashrc
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值