java通过jni调用dll文件报错java.lang.UnsatisfiedLinkError
·
项目中需要对接其他系统,需要通过一个jar包调用对方系统接口,但是这个jar包通过jni调用了.dll文件,一开始在ide中运行提示在“C:\Program Files\Java\jdk1.8.0_271\jre”目录下无法找到.dll文件,好吧,那就把对方提供的.dll文件复制到“C:\Program Files\Java\jdk1.8.0_271\jre”目录下,复制完成后可以正常启动了。
但是后来将项目把成jar包,以java -jar xxx.jar启动时却报如下错误。
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.tpri.sis.webcore.connector.tpri.jni.DBPAPI.DBPCreate([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[II)J
at com.tpri.sis.webcore.connector.tpri.jni.DBPAPI.DBPCreate(Native Method)
at com.tpri.sis.webcore.connector.tpri.TPRIConnection.connect(TPRIConnection.java:87)
at com.tpri.sis.webcore.connector.RealDBConnectionPool.createConnection(RealDBConnectionPool.java:89)
at com.tpri.sis.webcore.connector.RealDBConnectionPool.initPool(RealDBConnectionPool.java:66)
at com.tpri.sis.webcore.connector.RealDBConnectionManager.register(RealDBConnectionManager.java:73)
at ReadRealData.main(ReadRealData.java:36)
ide中可以正常启动,为什么用java -jar xxx.jar不行?
查看了一下idea中的启动命令是如下一大长串,难道是启动命令不同导致的?于是把启动命令修改为 "C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" -jar xxx.jar,仅仅是把java改为了C:\Program Files\Java\jdk1.8.0_271\bin\java.exe,然后竟然可以了!目前还不知道为什么,先做个纪录,有知道的小伙伴可以帮忙解答一下,谢谢!

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)