springboot对jna的简单调用

Jna(Java Native Access)框架是一个开源的java框架,其公司SUN主导开发,是一个建立在Jni基础上的开源框架,优化了 Jni 中最麻烦的数据类型映射, 可以让我们进行高效的开发。

1.导入工具包

01.第一种方式--引入maven包

        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>5.5.0</version>
        </dependency>

02.第二种方式--引用jar包

jar下载链接:https://pan.baidu.com/s/1ehlfMcdbvHQc1Wnd8RYXGw       提取码:ysys

下载完成创建springboot项目放置resources

pow文件中添加依赖

<dependency>
            <groupId>org.zhitong</groupId>
            <artifactId>jna</artifactId>
            <systemPath>${project.basedir}/src/main/resources/jars/jna.jar</systemPath>
            <scope>system</scope>
            <version>1.0</version>
        </dependency>

2.创建一个接口支继承Library


import com.sun.jna.Library;
import com.sun.jna.Native;

public interface HCNetSDK extends Library {
   HCNetSDK INSTANCE = CommonUtil.isLinux()?(HCNetSDK) Native.loadLibrary("hcnetsdk",
            HCNetSDK.class):(HCNetSDK) Native.loadLibrary("C:\\lib\\HCNetSDK",
            HCNetSDK.class);
    boolean NET_DVR_Init();

    }

接口中使用的函数必须与链接库中的函数原型保持一致             (以前代码调用了海康sdk,有兴趣可以上海康卫视官网下载sdk,或者云盘下载)

链接:https://pan.baidu.com/s/1u9-vckRAAcKwzzr7cDLq1Q 
提取码:ysys

3.调用接口方法

import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;

@Component
public class InitSdk {

    @PostConstruct
    public void initSdk(){
        HCNetSDK hCNetSDK = HCNetSDK.INSTANCE;
        try {
            boolean initSuc = hCNetSDK.NET_DVR_Init();
           if (initSuc){
               System.out.println("初始化成功");
           }else {
               System.out.println("初始化失败");
           }
        }catch (Exception e){
            L.info("SDK初始化异常");
        }
    }

4.运行

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值