java利用jnative调用dll动态库

最近公司有个需求,需要写一个webservice接口调用dll,之前没接触过,在网上找了找,然后遇到一些问题,感觉第一次弄的话还是有不少麻烦,这里整理遇到的一些问题,分享一下。

java调用dll动态库是有几种方式的,我这里选择的是jnative,下面附上代码。

注意点:jdk选择的是32位1.7版本,tomcat容器选择的是32位7版本

然后接口写完,在不同的机器上部署都出现不同的报错情况,什么dll not found,jvm内存溢出。

问题1:

jvm内存溢出

如上图中,指针创建内存块的时候一开始指定的是128,出现jvm崩溃,tomcat调用几次后就闪崩的情况,后面改1024*1024后规避这个问题。

问题2:

dll文件 找不到

这个问题,我这里是把dll文件放在tomcat bin目录下解决的,如果仍然无法解决可以尝试放到C:\Windows\SysWOW64下面或者C:\Windows\System32下面。(如果无论放哪里还是报这个错,注意此时可能是环境问题)

问题3:

VC++20XX环境问题。

由于我编码的时候用的自己老机器(win7),上面装了各种环境(VC++、java、php、.net。。。。。。)后面到一台全新机器上时(windows server 2008),就遇到了环境问题,经过一系列探索发现需要安装多个版本才能解决,这里不详列,找了个合集包,放在本页资源里(msvisualc.zip),下载安装即可解决(如果电脑未安装.net framework 4.6的,自行到微软官网下载https://www.microsoft.com/en-us/download/details.aspx?id=48130)。

 

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值