首页 > 系统相关 >Linux中gdal的使用

Linux中gdal的使用

时间:2023-03-07 14:01:23浏览次数:54  
标签:java lib Linux jar so usr 使用 gdal

四:Ubuntu中GDAL的使用(JavaWeb项目使用)

1:整理文件,把生成的文件放置到gdal/java目录

cp /home/zcx/Desktop/XQ/gdal-3.2.1/swig/java/gdal.jar  /usr/local/pgsql/plugin/gdal/share/java
cp /home/zcx/Desktop/XQ/gdal-3.2.1/swig/java/.libs/*.so  /usr/local/pgsql/plugin/gdal/share/java

2:配置java.library.path

java.library.path=/usr/java/packages/lib/amd64,放置libgdalalljni.so到此目录, javaWeb项目从这里加载libgdalalljni.so动态库(一般这个java.library.path指的是:jre/lib/amd64)

cp /usr/local/src/gdal-3.0.4/swig/java/.libs/*.so  /usr/local/lib/jvm/jdk1.8.0_351/jre/lib/amd64

3:把/swig/java中生成的gdal.jar文件复制到jre/lib/ext,jvm启动加载

cp /home/zcx/Desktop/XQ/gdal-3.2.1/swig/java/gdal.jar  /usr/local/lib/jvm/jdk1.8.0_351/jre/lib/ext
​
vi /etc/profile
CLASS_PATH=$JAVA_HOME/jre/lib/ext/gdal.jar:$CLASS_PATH
source /etc/profile

4:将swig下的gdal.jar和libgdalalljni.so放到tomcat下的webapp的lib中

可能出现的问题

错误1: java.lang.UnsatisfiedLinkError: Native Library /usr/java/packages/lib/amd64/libgdalalljni.so already loaded in another classloader

jvm启动时已经加载过libgdalalljni.so,不能能再次加载了,在linux系统上无需代码加载libgdalalljni.so

错误2:libpq.so.5: cannot open shared object file: No such file or directory 原因是未设置pg库到系统动态库配置请设置ld.so.conf

echo '/usr/local/pgsql/lib' >> /etc/ld.so.conf ldconfig

错误3:nested exception is java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.RegisterAll()V

gdal.jar未放置到/usr/java/jdk1.8.0_221/jre/lib/ext

vi /etc/profile 
CLASS_PATH=$JAVA_HOME/jre/lib/ext/gdal.jar:$CLASS_PATH 
source /etc/profile

gdal.jar未放到tomcat的项目资源中

参考:https://blog.csdn.net/qq_43961619/article/details/124627871

java程序创建目录文件权限问题:

改为umask="0000"

tomcat关闭不完全问题:

1:在PRGDIR=dirname "$PRG"后面加:

if [ -z "$CATALINA_PID" ]; then
    CATALINA_PID=$PRGDIR/CATALINA_PID
    cat $CATALINA_PID 
fi

2:在最后一行加 -force:

exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

标签:java,lib,Linux,jar,so,usr,使用,gdal
From: https://www.cnblogs.com/zcxxcvbn/p/17187909.html

相关文章

  • Marddown 使用VSCode预览 不显示图片 文件路径正确
    今天用Markdown写总结,图片变成了这样:文件路径是这个:C:\Users\dell\Desktop\A_Folder\#笔记开始以为是路径里有中文的原因,改成了全英文,但还是不显示。于是把"#"也删......
  • Linux-MySQL 数据备份
    MySQL数据备份是一个非常重要的工作,保证数据的安全性和可靠性。常用方法:一、使用mysqldump工具来备份MySQL数据库。该工具可以生成SQL脚本文件,包含数据库中......
  • CMake基本使用
    1、cmakecmake是用于构建、测试和软件打包的跨平台工具2、优势避免硬编码路径可在多台计算机上构建一个包可做持续集成支持不同操作系统支持多个编译器可使用IDE......
  • C# 面向对象 类和对象的声明及使用
    C#面向对象类和对象的声明及使用C#是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实......
  • 01、xlwings基本使用
    Xlwings中文官网支持xlx、xlxs格式与其他库对比xlwings逻辑表使用应用->工作簿->工作表->范围应用:一个应用(一个xlwings程序)工作簿(book)工作表(sheet)......
  • C# 字符串(String)的使用
    C#字符串(String)的使用本文主要介绍C#中字符串(String)的基础使用操作和相关方法使用(为变量分配字符串、字符串长度、字符串方法、、字符串连接、字符串格式化......
  • SSM环境下使用PageHelper遇到的问题
    错误示范:1、首先需要导包,我原本导入的版本是4.1.6,pom文件中导入无法下载,可以在projectstructure中手动搜索添加<dependency><groupId>com.github.pagehelper</grou......
  • markdown的使用说明
    目录markdown的使用说明一、标题二、段落1、换行2、分割线三、文字显示1、字体2、上下标四、列表1、无序列表2、有序列表3、任务列表五、区块显示六、代码显示1、行内代码2......
  • xilinx zynmp linux 开机自启动脚本添加
    下面以linx5.4.0-xilinx-v2020.1为例说明如何添加自启动脚本。linux系统内核启动完成后会加载第一个进程init,关于init进程的介绍参考博客https://zhuanlan.zhihu.com/p/......
  • 《安富莱嵌入式周报》第305期:超级震撼数码管瀑布,使用OpenAI生成单片机游戏代码的可玩
    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 说明:谢谢大家的关注,继续为大家盘点上周精彩内容。 视频版:h......