SpringMVC中使用JNA调用dll,无法初始化继承自Jna的Library的接口

微瞰技术
博客专家认证
2018-05-02 08:48:09
由于dll是32位的,用的是32位的jdk,错误是NoClassfoundError:即我定义的继承jna的library的interface找不到
...全文
1096 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
微瞰技术 2018-05-28
  • 打赏
  • 举报
回复
引用 4 楼 u011342403 的回复:
[quote=引用 3 楼 kampoo 的回复:] 在java-project中可以运行而在spring-mvc中就不行,判断可能是dll路径的问题。可以考虑将dll放在你的spring-mvc容器的启动路径下试试,或者将dll放在 PATH 系统环境变量所包含的目录下试试。
目前我放的是source folder下。和applicationContext同一目录,在java_project下也是放的source folder,能加载。,,也把dll放到jre的bin目录里面去过,结果还是不行。没办法了。[/quote] 目前把dll放到jdk的bin目录解决了
kampoo 2018-05-04
  • 打赏
  • 举报
回复
在java-project中可以运行而在spring-mvc中就不行,判断可能是dll路径的问题。可以考虑将dll放在你的spring-mvc容器的启动路径下试试,或者将dll放在 PATH 系统环境变量所包含的目录下试试。
微瞰技术 2018-05-04
  • 打赏
  • 举报
回复
引用 3 楼 kampoo 的回复:
在java-project中可以运行而在spring-mvc中就不行,判断可能是dll路径的问题。可以考虑将dll放在你的spring-mvc容器的启动路径下试试,或者将dll放在 PATH 系统环境变量所包含的目录下试试。
目前我放的是source folder下。和applicationContext同一目录,在java_project下也是放的source folder,能加载。,,也把dll放到jre的bin目录里面去过,结果还是不行。没办法了。
kampoo 2018-05-03
  • 打赏
  • 举报
回复
以前用过JNA,貌似如果找不到native接口函数,应该会抛出no-such-method异常,而不是no-class-found异常。建议先检查你的java代码,测试时可以先注释native方法试试。
微瞰技术 2018-05-03
  • 打赏
  • 举报
回复
引用 1 楼 kampoo 的回复:
以前用过JNA,貌似如果找不到native接口函数,应该会抛出no-such-method异常,而不是no-class-found异常。建议先检查你的java代码,测试时可以先注释native方法试试。
目前的情况是在java project里面可以运行,放到SpringMVC项目里就不行。跟native这个应该没关系吧。其实自己想的还是32位还是64位的原因,只是在想有没有遇到过的人给个方案

67,550

社区成员

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

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