文档章节

JNA调用DLL函数遇到的几个问题

abcijkxyz
 abcijkxyz
发布于 2016/08/06 11:54
字数 435
阅读 6
收藏 0

最近一个JSP项目需要用到分词模块,而分词模块实用C++写成的DLL库。于是上网搜各种方法,最后选择了JNA作为JSP调用DLL的工具。

JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射。

JNA的使用方法有很多,这里只总结下我遇到的问题:

DLL放置的路径问题

JSP本身分为bean的src目录和WebRoot的脚本目录,而我们的DLL需要在src下的类中调用,于是遇到了将DLL和资源文件放置到什么地方的问题。

最后解决方法:将调用的DLL和LIB文件拷贝到C:/Windows/System32目录下可以访问。

解决过程:我试过将这些文件放到Src目录下,然后用Class.class.getResource("/").getPath()这种方法得到类的class路径,再得到资源文件的路径,结果没有成功。

DLL调用资源的路径问题

DLL可能会调用其他资源文件,比如我这里需要用到词典,路径也是个问题,不过这个较为简单,很容易解决:

将资源文件目录,拷贝到Src目录下面。在程序中使用Class.class.getResource("/").getPath()获得编译后的类所在的根目录,再连接上资源文件即可。


原文地址:http://www.crazyant.net/2012/12/26/jsp使用jna调用dll函数遇到的几个问题/

本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/11885341

abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问

暂无文章

如何远程调试部署在CloudFoundry平台上的nodejs应用

网络上关于如何本地调试nodejs应用的教程已经很多了,工具有Chrome开发者工具,Visual Studio Code,和nodejs周边的一些小工具等等。 在实际情况中,我们可能遇到本地运行良好,但是部署到C...

JerryWang_SAP
20分钟前
0
0
微信扫码访问网站调用默认浏览器打开如何实现?

我们在微信内分享链接或二维码的时候,我们会发现我们的网站是可以在浏览器里正常打开的,但就是不能在微信里打开,提示 “ 已停止访问该网页 ”,无论是聊天框也一样。说是系统检测到您的网...

明尼苏达哈士奇
28分钟前
1
0
一份Java程序员进阶架构师的秘籍,你离架构师还差多远

一、如何定义架构师 Java架构师,首先要是一个Java程序员,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,怎么解决并...

我最喜欢三大框架
36分钟前
0
0
想说再见不容易,win7最新市占率依然超36%

微软正在通过努力让Windows 7用户升级至Windows 10,不过从目前的市占率来看,他们还是要加把劲了。 据最新的市场份额看,Windows 10在本月的市场份额有所提升,从43.62%增长到44.10%。另一...

linuxCool
48分钟前
4
0
SQL的优化

对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 对查询进行优化,要尽量避免全表扫描,首先应考虑在进行条件判断的字段上创建了索引。 应尽量避...

咸鱼-李y
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部