java 调用.so以及springboot 调用.so

本文介绍如何在Java环境中调用JNI(Java Native Interface)并通过具体步骤演示如何配置环境变量、创建Java调用JNI文件及生成相关头文件。此外,还详细介绍了在Spring Boot项目中集成JNI的方法。
摘要由CSDN通过智能技术生成

java调用方式

步骤一

	1. vi /etc/profile
		在export PATH下方加入如下代码
		export LD_LIBRARY_PATH=/home/app/so/
		其中/home/app/so是咱们将要调用的so库文件存在路径
	2.:wq
	3.source /etc/profile 使用配置生效
	在docker中配置
	1.vi ~/.bashrc
		再文件最正方加入如下代码
		export LD_LIBRARY_PATH=/home/app/so/:$LD_LIBRARY_PATH
	2.:wq
	3.source ~/.bashrc
	

步骤二

	1.创建java调用jni文件
		public class TestJNI{
			static {
				System.loadLibrary("TestJNI");
    		}
		    public interface Callback {
	    	    void callback(String msg);
		    }
		    public native int start(String str);
	    	public native int stop(String str);
    	}
    2.通过命令行 进入TestJNI.java所在目录,执行 javac TestJNI.java生成TestJNI.class
    3.如果TestJNI无包名,执行 javah -jni TestJNI生成xx.h;
    4.如果TestJNI有包名,则进行完整命名的上级文件夹,执行javah -jni 完整包名.TestJNI
    	如TestJNI.java package com.sc.aa.bb.cc;那么 需要进入com包的上层目录中执行命令。
    5.将xx.h 交给写so库文件的同时,帮忙导出相关so库文件
    6.大概率下 同事导出的so库文件名为 libTestJNI.so
    7.TestJNI.java中 static块内,不能写libTestJNI.so,要使用TestJNI.so;
    8.调用方式:
    	TestJNI test = new TestJNI();
    	test.start("start");
    	test.stop("stop");

springBoot调用方式

步骤一

	同java调用方式 步骤一

步骤二

	1.同java调用方式 步骤二 前7条相同;
	2.TestJNI.java中,在文件名处加入@Component注解;
		此步骤在生成.h文件之后再加入注解。防止javac编译时,文件报错。
	3.调用方式:
		@Resource
        private TestJNI testJNI;
        testJNI.start("start");
        testJNI.stop("stop");
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【归心】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值