servlet 调用 jni 问题

lion4780 2008-12-25 07:32:33
各位高手!
我用servlet调用jni函数,出错java.lang.UnsatisfiedLinkError。
我在网上查了下,很多人都说是dll的路径不对,我把dll文件放到system32、tomcat、tomcat\bin等目录下都还是同样的问题。用loadlibrary加绝对路径也不行。
这个dll我在java应用程序调用时是好的,就把它放在.class文件目录下就行了。
请问各位知道应该怎么解决吗?
...全文
158 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lion4780 2008-12-28
  • 打赏
  • 举报
回复
谢谢各位,问题已经了。是我移植到servlet上时直接使用以前的dll,而包名换了dll里函数名也要换的。
jiaxuabc 2008-12-26
  • 打赏
  • 举报
回复
帮顶下
luck222 2008-12-26
  • 打赏
  • 举报
回复
你不会加了扩展名吧,
比如:System.loadLibrary("mydll.dll");
实际应写System.loadLibrary("mydll");
但愿我多滤了
y22ang_cn 2008-12-26
  • 打赏
  • 举报
回复
有可能是权限问题,你把你的dll所在的文件夹的属性-》安全-》添加everyone 高级everyone,两个选项都选上,试试
zou_wei_forever 2008-12-26
  • 打赏
  • 举报
回复
load("绝对路径下的\xxx.dll");试试!
caoyuechun 2008-12-25
  • 打赏
  • 举报
回复
拷贝到windows / system32目录下;
rnmmdb 2008-12-25
  • 打赏
  • 举报
回复
帮你顶一下
lion4780 2008-12-25
  • 打赏
  • 举报
回复
自己顶一下
lion4780 2008-12-25
  • 打赏
  • 举报
回复
servlet 调用jni 和 java应用程序调用jni 方法上有什么区别呢?
lion4780 2008-12-25
  • 打赏
  • 举报
回复
刚试了一下,还是一样的错误。
如果是dll文件没找到的话我会让程序打印“can`t find dll”。而这个错误没出来这个提示
那说明load("xxx.dll")这句执行没出现异常,而java.lang.UnsatisfiedLinkError 又指向我调用dll的那个函数
还有什么地方会出错吗?
surelei 2008-12-25
  • 打赏
  • 举报
回复
你放在WEB-INF/lib/目录或者WEB-INF/classes/目录下试过么?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧