2012-06-29 9 views
5

हाय मैं तीसरे पक्ष के lib नाम हाइपरिक सिगार का उपयोग कर रहा हूं। यह पता चलता है जब मैं अपने कोड चलाने त्रुटि,हाइपरिक सिगार मैक ओएसएक्स त्रुटि- कोई लाइब्रेरी

यह मेरा कोड है:

package pack; 

import org.hyperic.sigar.*; 

public class NetworkData { 
    public static void main(String[] args) { 
    Sigar sigar = new Sigar(); 
    } 

} 

यह त्रुटि संदेश है:

1 [main] DEBUG Sigar - no libsigar-universal64-macosx.dylib in java.library.path 
org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in java.library.path 
    at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172) 
    at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100) 
    at pack.NetworkData.main(NetworkData.java:10) 

इम पर मैक OSX हिम तेंदुए के विकास जावा के लिए ग्रहण आईडीई का उपयोग करना डेवलपर कुछ पुरानी पोस्ट ("no sigar-x86-winnt.dll in java.library.path" error when using Hyperic SIGAR on multi language OS) पोस्ट कहती है कि मुझे कुछ पथ जोड़ने की ज़रूरत है, यदि ऐसा है ... मैं मैक ओएसएक्स में उस पथ को कैसे जोड़ूं? उम्मीद है कि कोई मदद कर सकता है ^^

उत्तर

3

सबसे पहले आपको अपनी लाइब्रेरी में Sigar.jar जोड़ने की आवश्यकता है, फिर अपनी लाइब्रेरी में .dylib फ़ाइल जोड़ें (आपको अपने ओएस के लिए फ़ाइल चुनने की आवश्यकता है)। आपके मामले में आपको libsigar-universal64-macosx.dylib जोड़ना चाहिए, आप इन फ़ाइलों को "hyperic-sigar-1.6.4/sigar-bin/lib" में पा सकते हैं।

2

मैं अपने प्रोजेक्ट का हल, समाधान एक जार फ़ाइल (मेरे मामले में) जोड़ रहा है मिला है। जब भी हम किसी तृतीय पक्ष लाइब्रेरी का उपयोग करते हैं, वही अवधारणा है, जैसे जावा के लिए mysql ड्राइवर। तो मेरे मामले में, मुझे अपने पथ में log4j.jar और sigar.jar जोड़ने की जरूरत है।

अपनी ग्रहण परियोजना पर राइट क्लिक करें, फिर पर जाएं पथ> कॉन्फ़िगर बिल्ड पथ> जावा बिल्ड पथ> बाहरी जार जोड़ें और अपनी परियोजना में sigar.jar में जोड़ें।

2
# to find it later because you will need it ... 
cd ~/Downloads/ 

# or whatever the latest one at the time of reading is ... 
curl https://netix.dl.sourceforge.net/project/sigar/sigar/1.6/hyperic-sigar-1.6.4.zip 

# unpack the package to the tmp dir 
sudo unzip -o /Users/phz/Downloads/hyperic-sigar-1.6.4.zip -d /tmp/ 

# copy the libsigar-universal64-macosx.dylib to your class path dir 
sudo find /tmp/ -name libsigar-universal64-macosx.dylib \ 
    -exec cp -v {} /Library/Java/Extensions/ \; 

# this cmd might be obsolete ... 
# copy the sigar.jar to your class path dir 
sudo find /tmp/ -name sigar*.jar \ 
    -exec cp -v {} /Library/Java/Extensions/ \; 

# set you classpath dir, or add in ~/.bash_profile 
# or even better https://github.com/YordanGeorgiev/ysg-confs 
export CLASSPATH=$CLASSPATH:/Library/Java/Extensions 

# you should not see the error anymore 
cd $my_proj_dir ; sbt compile 

# neither here .. 
cd $my_project_dir ; clear ; sbt "test:testOnly *testClass"