no libsigar-amd64-linux.so in java.library.path

今天又一次打算用到sigar來獲取主機信息,在作完將程序寫好,打包成可執行jar包,上傳到ubuntu主機上等一些列步驟以後,當我用「java -jar ***.jar」執行該jar程序時,很意外的出現了no libsigar-amd64-linux.so in java.library.path錯誤。java

其實在第一次接觸sigar的時候,也曾碰見過這個問題,當時是處處百度谷歌,最後終於給解決了。惋惜的是當時即便在解決完這個棘手的問題後,我居然沒有寫個文檔來記錄下,而後致使此次遇到這個問題時又是搞了一個下午,但如今才得以解決,吸收上次沒有寫文檔的教訓,此次寫下來,以來留檔,二來供後面再次遇到這個問題的同窗們當參考。linux

首先,須要去下個東西http://pan.baidu.com/s/1pJK6Nurubuntu

其次,咱們須要獲取到java.library.path這個路徑,方法是寫個用小的java程序來實現測試

 

 

System.out.println(System.getProperty("java.library.path"));文檔

在main方法中寫上這一條指令來打印系統中的java.library.path路徑;(如個人ubuntu的路徑爲:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib)get

再次,解壓上面下載的壓縮包,而後仔細閱讀解壓後生成的文件夾中的"備註.txt"這個文本的前5行,也就是下面列出來的內容百度

 

sigar 測試項目 在window環境下
只須要一下2個依賴:
sigar.jar
sigar-x86-winnt.dll
若是環境爲linux,則在hyperic-sigar-1.6.4\sigar-bin\lib中尋找替換對應的sigar-x86-winnt.dll 文件(linux下爲os文件,window下爲dll)打包

再再次,將「java讀取系統信息\hyperic-sigar-1.6.4\sigar-bin\lib」中,與你即將獲取信息的主機所用系統相對應的文件(如ubuntu對應的是libsigar-amd64-linux.so)複製到你在第二步獲取到的java.library.path路徑中。下載

最後,好的,結束了。程序

相關文章
相關標籤/搜索