开发者社区> 问答> 正文

JNA调用dll,打包后,找不到指定模块?报错

用eclipse 开发,调用dll,eclipse调用都已经ok了,现在打包成jar,会报错,用了3种打包方法

第一种,直接export->jar file的方式,指定了main函数,所有的jar文件,以及dll文件都包含到了,报错如下:

第二种 export->runnable jar file,也指定了main函数,不过,这个没办法dll文件打包进jar,我手动拷贝进去的

 

第三种 fat 打包的,各种文件都包含到jar中了

 

求大神指导

展开
收起
爱吃鱼的程序员 2020-06-06 14:45:40 1956 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>我自己来回答这个问题吧,</p>
    

    自己排除了

    首先说下是用JNA调用DLL的

    (1)解决问题用的打包方式是fat打包

    (2)打包报错的原因是eclipse里面用的jdk(jdk1.7.0_51)版本和电脑本身配置的jdk(1.8.0_141)版本不一样导致的,估计1.8版本不支持(之前在开发的时候,在另外一台电脑上,eclipse就报unable to load library的问题,查询了,好多说貌似只能用32位的jdk,)

    (3) 重新配置java_home,配置了两个1.7版本一个是

     这个还是不行,后来换成了下面这个

      这个才是可以

    估计还是只32位的JDK才可以

    ,不过配置的时候也遇到问题了,配置后,一直不生效,java -version后,怎么都是1.8的,后来查到要做以下几个操作

     

     

      a)删掉C:\Windows\System32的java.exe、javaw.exe、javaws.exe三个文件,这里面的优先级高于环境变量配置

    b)如果a不行(我的就是的),删掉C:\ProgramData\Oracle\Java\javapath目录下java.exe、javaw.exe、javaws.exe三个文件(我的是快捷方式)

    我的做了以上操作后,再用命令调用就OK了

     

    这个问题最近弄了3天了,终于搞定了,不过,另外一个电脑上还是不行,在eclipse里面都不OK,任重道远啊

                        <p>补充下,关于java_home不生效还有一种情况,就是在需要再path里面配置bin的路径<br>
    

    另外一台机子也重要搞定了

    2020-06-06 14:46:00
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载