Java使用第三方动态链接库文件

背景

在开发过程中,可能需要使用第三方库,而这些库的源码可能是C写的,这时候会在java这边定义成native文件,程序运行的时候,链接到指定的dll文件。

dll文件生效

windows

windows环境下,会默认去 java.library.path下找dll文件,我们可以通过System.getProperty("java.library.path")查看所有路径信息。通过System.loadLibrary("lpsolve55j");查看是否配置成功。

注: lpsolve55j.dll只需要写文件名,不需要写全路径和后缀。

linux

方式一

将libxxx.so添加到默认的库目录下/usr/lib/lib 下就ok了。在java程序中加载这个so文件时,linux会默认在文件头加上lib,比如System.loadLibrary("lpsolve55j");,系统最终会加载liblpsolve55j.so文件。但是这种方式每次使用新的dll文件都需要运维帮忙部署。

最后不用忘记Idconfig一下, 这是一个动态链接库管理命令,目的为了让动态链接库为系统所共享。
在这里插入图片描述

方式二

和方式一道理是一样的,只是我们不将libxxx.so放到/usr/lib/lib下,而是放在java工程resources下/META-INF/native中。然后往export里写一个全局变量LD_LIBRARY_PATH,指向这个目录,这样运维只需要配置一次linux环境即可,后续可以自己完成部署。

最后记得Idconfig一下!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值