首页 > 系统相关 >gdal部署及java调用详细过程(linux版本-ubuntu)

gdal部署及java调用详细过程(linux版本-ubuntu)

时间:2024-10-26 15:59:07浏览次数:1  
标签:java lib 安装 ubuntu linux home data gdal

建议gdal用3.5.3前的版本,因为目前网上大部分文章都是适用这个版本之前的编译方法

一、gdal部署
1)安装gcc
通过系统包管理器安装
sudo apt install gcc
gcc --version

2)安装g++
通过系统包管理器安装
sudo apt install g++
g++ --version

3)安装Ant
通过系统包管理器安装
sudo apt-get install ant
ant -version

4)安装pcre
通过系统包管理器安装
sudo apt-get install libpcre3 libpcre3-dev
pcre-config --version

5)安装swig
通过系统包管理器安装
sudo apt-get install swig
swig -version

6)安装proj
通过系统包管理器安装
sudo apt-get install libproj-dev
proj --version

7)安装geos
通过系统包管理器安装
sudo apt-get install libgeos-dev
geos-config --version

8)安装gdal
GDAL:解压,配置 并编译 GDAL
tar -zxvf gdal-3.5.3.tar.gz
cd gdal-3.5.3/
./configure --prefix=/data/gdal
make
make install

9)配置gdal动态链接库

10)配置环境变量
vi /etc/profile(/etc/profile只能root用户编辑,设置的环境变量其他用户都生效)
新增:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/gdal/lib
source /etc/profile
检测gdal是否编译成功
gdalinfo -version

二、java程序jni调用

1)编辑解压后目录 vi gdal-3.5.3/swig/java/java.opt 配置 JAVA_HOME(当前系统jdk路径):

点击查看代码
#java stuff
#java_home = "c:\program files\java\jdk1.6.0_16"
#java_home = /usr/lib/jvm/java-6-openjdk/
#java_home = /usr/lib/jvm/java-7-openjdk-amd64/
javadoc=$(java_home)/bin/javadoc
javac=$(java_home)/bin/javac
java=$(java_home)/bin/java
jar=$(java_home)/bin/jar
java_include=-i$(java_home)/include -i$(java_home)/include/linux

2)编译:
cd gdal-3.2.0/swig/java/
make

3)路径下会生成jar包,把jar包copy到自己项目的libs文件夹下

点击查看代码
<dependency>
            <groupId>org.gdal</groupId>
            <artifactId>gdal</artifactId>
            <version>3.5.3</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/libs/gdal.jar</systemPath>
        </dependency>

同时把路径下的libgdalalljni.so文件拷贝到/data/gdal/lib目录下(此目录是gdal的库)

服务启动命令,添加-Djava.library.path=/data/gdal/lib,主动指向gdal库,程序jvm就可通过libgdaljni.so调用jni
nohup java -Djava.library.path=/data/gdal/lib -jar -Xmx2048M wrjsr.jar > $LOG_FILE 2>&1 &

GDAL库的默认路径
gdal运行时执行程序路径如下:/data/gdal/bin/gdalinfo
gdal动态库静态库文件路径:/data/gdal/lib/libgdal.a ----------/data/gdal/lib/libgdal.so
gdal头文件路径:/data/gdal/include/gdal/gdal_priv.h
gdal Java接口文件路径:/data/gdal/lib/libgdaljni.so

标签:java,lib,安装,ubuntu,linux,home,data,gdal
From: https://www.cnblogs.com/prophet-ljh/p/18504063

相关文章

  • 三高应用的设计原则 java 三高
    高并发负载均衡:通过负载均衡器来分配请求到多个服务器或实例,避免单点过载。异步处理:采用异步非阻塞的方式处理任务,减少等待时间,提高资源利用率。无状态设计:确保服务实例之间无状态依赖,这样任何实例都可以处理任何请求,便于扩展。缓存策略:合理利用缓存减少数据库访问压力,提高......
  • Linux笔记---Makefile的简单用法
    1.什么是MakefileMakefile是一种用于自动化构建和管理项目的工具,特别是在软件开发中非常常见。它包含了一系列规则(rules)和指令,描述了如何编译和链接源代码文件,以及生成最终的可执行文件或库文件。简单来说,在系统中存在一个叫做make的命令,该命令被使用之后,会在当前目录下......
  • vue3+java+springboot在线考试系统(08169)
    目录功能介绍具体实现截图技术介绍开发核心技术介绍:技术创新点vue3和vue2的区别:核心代码部分展示非功能需求分析系统开发流程软件测试源码获取功能介绍随着社会的发展,系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但各种信息鱼龙混杂,信息真假难以辨......
  • Linux Centos安装ElasticSearch、分词器、es-head和Kibana
    1前言Java中比较流行的搜索引擎是Elasticsearch,传统的数据库搜索,使用like’关键字%’,当内容过多时性能会大大降低,所以Elasticsearch就出现了。下面,记录下Linux下Elasticsearch的安装过程。2Linux下安装Elasticsearch2.1下载和解压安装包官网下载地址:https://www.elastic.......
  • Linux 中awk语句匹配首个数字与匹配首个连续的数字的区别
     001、[root@localhosttest]#catb.txt##测试数据000120081223efs333kjfdjEREADFASDLKJCV000220081208djfks2288daaJDKFJALSDJFsddf000320081208efskjfdjEREADFASDLKJCV000420081211djfksdaa1234JDKFJALSDJFs......
  • java的无锁编程和锁机制
    Java的并发编程中,为了保证线程安全和高性能,采用了两种主要的同步手段:锁机制和无锁编程。以下是对锁机制、无锁编程、死锁及其避免的详细讲解。一、无锁编程无锁编程通过原子操作来避免传统锁,从而减少线程的上下文切换,提升性能。在Java中,通常使用java.util.concurrent.......
  • Java 中 & 和 && 以及 | 和 || 的区别
    在Java中,&和&&以及|和||都是逻辑运算符,但它们在使用上有一些重要的区别。以下是对这些运算符的全面总结,包括它们的区别、应用场景和代码示例。1.&和&&&:按位与运算符:当作用于整数类型时,它执行按位与操作。逻辑与运算符:当作用于布尔类型时,它会计算两边的......
  • Java 题目集总结
    一、前言在本次Java课程的学习中,我们通过完成三次精心设计的题目集,深入探索了Java编程的广阔世界。这三次题目集犹如攀登知识高峰的阶梯,每一次都引领我们迈向更高的层次,涵盖了从基础概念到复杂应用的多个重要知识点,为我们提供了宝贵的实践机会,使我们在编程的道路上不断成长和......
  • Linux系统安装Nodejs的详细教程
    Linux系统安装Nodejs(详细教程)介绍:​Node.js发布于2009年5月,由RyanDahl开发,是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,[1]让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚......
  • java+vue计算机毕设动物救助微信小程序【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,随着城市化进程的加速和人们生活方式的变化,流浪动物问题日益凸显。大量无家可归的动物在街头巷尾流浪,面临着饥饿、疾病、意外伤害等多重困......