java -jar XXX.jar
可以运行,但是在linux下面却报错:
线程 "main" 中发生异常java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-x86/libjnidispatch.so) not found in resource path
libjnidispatch.so这个文件在jna.jar是有的,我试了好多方法都没搞定,请各位大侠指教!!!!!!!!!!!!
8 个解决方案
#1
你的文件放在什么目录下面?如何读取这个文件的?
#2
读取jar包中文件内容,必须采用getResourceAsStream("path")的方式来获取(该 文件必须在src目录或其子目录下才能获取到 )。
#3
#4
#5
.so文件可不是资源文件,这是本地可执行文件。
实在不行,将.so文件单独分发,放在系统目录或启动目录中,以便程序能加载吧。
实在不行,将.so文件单独分发,放在系统目录或启动目录中,以便程序能加载吧。
#6
你在启动java时加上这个参数:
-Djava.library.path=你的jar所在的目录
再试试
-Djava.library.path=你的jar所在的目录
再试试
#7
我也赞成将它先解压出来,放到一个单独的目录下,然后再在java.library.path参数中指定这个目录。
#8
搞定了,必须自己手动把so文件copy到系统lib目录下。
#1
你的文件放在什么目录下面?如何读取这个文件的?
#2
读取jar包中文件内容,必须采用getResourceAsStream("path")的方式来获取(该 文件必须在src目录或其子目录下才能获取到 )。
#3
#4
#5
.so文件可不是资源文件,这是本地可执行文件。
实在不行,将.so文件单独分发,放在系统目录或启动目录中,以便程序能加载吧。
实在不行,将.so文件单独分发,放在系统目录或启动目录中,以便程序能加载吧。
#6
你在启动java时加上这个参数:
-Djava.library.path=你的jar所在的目录
再试试
-Djava.library.path=你的jar所在的目录
再试试
#7
我也赞成将它先解压出来,放到一个单独的目录下,然后再在java.library.path参数中指定这个目录。
#8
搞定了,必须自己手动把so文件copy到系统lib目录下。