新浪博客

sigar 使用报错问题解决(java.lang.UnsatisfiedLinkError: gather)

2013-03-02 15:26阅读:
解决方法
1、
将sigar.jar
sigar-amd64-winnt.dll
sigar-x86-winnt.dll
sigar-x86-winnt.lib
放到tomcat 的lib下;
如果1不能解决采用用2方法
2、
windows
1.在代码中执行String str=System.getProperty('java.library.path');
2.查看str中第一个;前的位置(即你的java jdk的bin目录下)
3.将sigar-x86-winnt.dll拷到这个目录下
4.重新执行代码(如果是服务器的话,记得重新启动在执行)
(本人使用2成功解决问题)
linux
本人在/etc/environment中设置了环境变量:
JAVA_HOME=/opt/java ORACLE_HOME=/home/user2/ LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
正常情况下执行没有问题,但使用sudo XXXXXXX的时候,其他变量都好使,除了LD_LIBRARY_PATH;

经探索,找到原因:

据说因为安全原因,Linux系统做了限制。 LD_LIBRARY_PATH not loading from .profile nor /etc/environment
Ubuntu 不能在 profile,environment,.bashrc中设置 LD_LIBRARY_PATH;
解决办法:
编辑 /etc/ld.so.conf 文件,将指定的路径加上,或者在 /etc/ld.so.conf.d/目录中添加一个新的配置文件。

我的更多文章

下载客户端阅读体验更佳

APP专享