2022最新Linux下编译gdal的java环境超详细教程

前排提示,文中所有用到的文件都已经打包发布在csdn上了,赚点C币

下载地址

1.安装 gcc,g++ 等编译器

sudo yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake openssl openssl-devel

2.安装 sqlite-devel

sudo yum -y install sqlite-devel

3.安装 libxml2

sudo yum -y install libxml2
sudo yum -y install libxml2-devel

4.安装 GEOS

tar xvfj geos-3.6.5.tar.bz2
cd geos-3.6.5
./configure
sudo make && sudo make install

5.安装 proj

tar -zxvf proj-6.2.1.tar.gz
cd proj-6.2.1
./configure
sudo make && sudo make install

6.安装 jasper

tar -zxvf jasper-1.900.1.uuid.tar.gz
cd jasper-1.900.1.uuid/
./configure --disable-shared --with-pic
#这里一定要加上--disable-shared --with-pic 不然第7步make会报错 
#后边这个命令应该是和--disable-shared --with-pic./configure CFLAGS=-fPIC CXXFLAGS=-fPIC
sudo make && sudo make install

7.安装 gdal

tar -zxvf gdal-3.4.0.tar.gz 
cd gdal-3.4.0
./configure --prefix="/usr/local"
sudo make && sudo make install
#验证是否安装成功
gdalinfo --version 

如果出错了,按下边执行,没出错忽略下边的代码

sudo vim ~/.bashrc
export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.bashrc

cd gdal-3.4.0
sudo make clean
./configure --prefix="/usr/local"
sudo make
sudo make install

8.安装 swig

先试试这样能不能安装上

sudo yum install -y swig

如果上边成功了就不要执行下面的语句了

http://www.swig.org/download.html
swig-3.0.12-19.module_el8.3.0+557+3d058e38.x86

tar -zxvf swig-4.0.2.tar.gz
cd swig-4.0.2/
./configure
sudo make
sudo make install

9.安装 java

  1. 卸载openjdk

    #查看安装的jdk
    rpm -qa | grep java
    #java-1.8.0-openjdk-headless-1.8.0.322.b06-1.el7_9.x86_64
    #java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
    #第二个是第一个的依赖,所以直接先卸载第一个会报错,会告诉你它有依赖在用删不掉,所以我们需要先删除不带headless的,然后再删除带headless的
    
    #卸载
    sudo rpm -e --nodeps java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
    sudo rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.322.b06-1.el7_9.x86_64
    #或者
    sudo yum -y remove java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
    sudo yum -y remove java-1.8.0-openjdk-headless-1.8.0.322.b06-1.el7_9.x86_64
    
    #查看是否卸载成功,直到该命令报错才算卸载完毕
    java -version
    
  2. 下载jar包

    #解压
    tar -zxvf jdk-8u311-linux-x64.tar.gz 
    #复制到指定目录(可以自己决定目录)
    sudo cp jdk1.8.0_311 /usr/lib/java/ -r
    
  3. 配置

    #编辑/etc/profile
    sudo vim /etc/profile
    
    #拉到文章的末尾,按 i 进行编辑,在最后面添加如下代码:
    #set java enviroment
    JAVA_HOME=/usr/lib/java/jdk1.8.0_311
    JRE_HOME=/usr/lib/java/jdk1.8.0_311/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH
    
    #添加完后,按ESC,再输入  :wq 进行保存!
    
    #设置配置文件立即生效
    source /etc/profile
    
    #检查配置是否正确
    java -version
    

10.安装 ant

  • 下载

    #解压
    tar -zxvf apache-ant-1.10.12-bin.tar.gz
    #复制到指定目录(可以自己决定目录)
    sudo cp apache-ant-1.10.12 /usr/lib/ant/ -r
    
  • 配置

    #编辑/etc/profile
    sudo vim /etc/profile
    
    #拉到文章的末尾,按 i 进行编辑,在最后面添加如下代码:
    #set ant enviroment
    export ANT_HOME=/usr/lib/ant/apache-ant-1.10.12
    export PATH=$PATH:$JAVA_HOME/bin:${ANT_HOME}/bin
    
    #添加完后,按ESC,再输入  :wq 进行保存!
    
    #设置配置文件立即生效
    source /etc/profile
    
    #检查配置是否正确
    ant -version
    

11.编译并生成gdal.jar

#设置配置文件立即生效
source /etc/profile

#进入gdal目录下的swig/java 编辑java.opt
vim java.opt
#添加
JAVA_HOME=/usr/lib/java/jdk1.8.0_311
# 在路径:gdal 根目录 /swig/java 中执行
make 
# 在路径:gdal 根目录 /swig/java 中执行
sudo cp gdal.jar /usr/lib/java/jdk1.8.0_311/jre/lib/ext/
sudo cp *.so /usr/lib/java/jdk1.8.0_311/jre/lib/amd64/server/
#只需要复制*.so就行了 sudo cp *.so *.lo *.o *.la /usr/lib/java/jdk1.8.0_311/jre/lib/amd64/server/

#配置
sudo vim /etc/profile
#在文件最后添加
#set gdal enviroment
export LD_LIBRARY_PATH=.:$JAVA_HOME/jre/lib/amd64/server
#立即生效
source /etc/profile

12.测试

在test目录下放一个名称为l.tif的文件,自己随便找一个就行

#进入test目录,这个目录在我分享的文件里
cd test
java MyTest2
/*输出
    xsize=3229
    ysize=6278
*/
上一篇:CentOS7.x 离线安装 最新版本 supervisor 4.2.4


下一篇:Linux下常用压缩 解压命令和压缩比率对比