Tomcat部署时出现异常java.lang.UnsatisfiedLinkError: Unable to load library

最近在Linux系统上面进行项目部署的过程中遇到了一个棘手的问题,一直报错某个So库没有加载进来。而且情形比较诡异,在windows上面部署时没有任何错误,而且运行很不错。因为需要java项目调用C的类库,在windows下面的dll库没有任何问题。搜了很多资料大致解决方案如下:

1.Tomcat的版本有问题。

我的windows和linux上面用到的版本不一致,但是试想应该这个也不是很影响效果,linux用的是Tomcat7.0.63而windows上面用的是Tomcat7.0.85,在linux上面修改为Tomcat7.0.63以后,还是同样的错误。证明没有用。

2.某一个Jar包有问题

因为此项目部署引用了JNA.jar包,反反复复的增删修改这个jar包,发现并没有什么效果。还是同样的错误。

3.找到报错的某一个固定的so文件,加载到相应的寻址路径下

因为系统的寻址路径显示在web-info下面的一个文件下,我就把相应的库文件给放进去,但是还是没能加载进来,报的错误还是相同的。

4.修改环境变量

在tomcat的bin文件的catalina.sh中增加一段配置:export LD_LIBRARY_PATH="/root/XX/XX:$LD_LIBRARY_PATH" 加粗部分保存的为我的so库文件。试运行一下,完美解决。


猜你喜欢

转载自blog.csdn.net/horero/article/details/79821066