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
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
经探索,找到原因:
据说因为安全原因,Linux系统做了限制。 LD_LIBRARY_PATH not loading from .profile nor /etc/environment