您的位置:首页 > 编程语言 > Java开发

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

2014-04-03 15:44 501 查看
解决方法

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/目录中添加一个新的配置文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: