2010-01-17 8 views
22

के लिए बंडल नहीं मिल रहा है मैं एक पुस्तकालय का उपयोग कर रहा हूं जिस पर jfreechart (v 1.0.9) पर निर्भरता है।आधार नाम

जब मैं .jar चलाने का प्रयास, मैं मिलता है:

java.util.MissingResourceException: Can't find bundle for base name 
     org.jfree.chart.LocalizationBundle, locale en_US 
    at java.util.ResourceBundle.throwMissingResourceException 
     (ResourceBundle.java:1521) 
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260) 
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:962) 

मैं एक LocalizationBundle.properties फ़ाइल बनाने की कोशिश की है, लेकिन वह फ्लॉप करते हैं। मैंने क्लास्स्पैट की जांच की है, अभी भी नहीं जाना है।

कोई भी विचार?

उत्तर

33
java.util.MissingResourceException: Can't find bundle for base name 
    org.jfree.chart.LocalizationBundle, locale en_US

बिंदु करने के लिए, अपवाद संदेश विस्तार से बताता है कि आप classpath में निम्न फ़ाइलों में से किसी की आवश्यकता है:

/org/jfree/chart/LocalizationBundle.properties

या

/org/jfree/chart/LocalizationBundle_en.properties

या

/org/jfree/chart/LocalizationBundle_en_US.properties

अधिक जानकारी के लिए Sun's own tutorial about resourcebundles भी देखें।

लेकिन जैसे-जैसे यह वास्तव में एक 3 पार्टी कामयाब गुण फ़ाइल है, तो आप एक अपने आप को नहीं बनाना चाहिए। यह JFreeChart JAR फ़ाइल में पहले से ही उपलब्ध होना चाहिए। तो सुनिश्चित करें कि आपके पास रनटाइम के दौरान क्लासपाथ में उपलब्ध है। यह भी सुनिश्चित करें कि आप सही संस्करण का उपयोग कर रहे हैं, पैकेज पेड़ के अंदर Propertiesfile का स्थान प्रति JFreeChart संस्करण बदल गया है।

जब एक जार फ़ाइल को क्रियान्वित करने के लिए, आप classpath निर्दिष्ट करने के लिए -cp तर्क का उपयोग कर सकते हैं। उदा .:

java -jar -cp c:/path/to/jfreechart.jar yourfile.jar 

वैकल्पिक रूप से आप जार की मेनिफेस्ट फ़ाइल के class-path प्रविष्टि के रूप में classpath निर्दिष्ट कर सकते हैं। आप वहां के सापेक्ष पथों का उपयोग कर सकते हैं जो JAR फ़ाइल के सापेक्ष हैं। नहीं%CLASSPATH% वातावरण चर का उपयोग करते हैं, यह नजरअंदाज कर दिया द्वारा जार के और बाकी सब कुछ जो java.exeसाथ बिना-cp, -classpath और -jar तर्क निष्पादित नहीं कर रहे हैं।

+0

यह भी जांचने योग्य है कि आपके पास अपने बंडल नाम में टाइपो नहीं हैं, मैं अपने ऐप को 30 मिनट डिबगिंग करने के लिए बस इतना समझता हूं कि जब मैंने आईडीई से अपना बंडल बदल दिया तो मैंने गलती से इसके सामने एक जगह जोड़ा (मैंने काम किया लिनक्स बॉक्स पर इतना ओएस शिकायत नहीं है)। Facepalm ... – csharpfolk

2

बलुससी सही है। संस्करण 1.0.13 वर्तमान है, लेकिन 1.0.9 आवश्यक बंडलों के लिए प्रकट होता है:

 
$ jar tf lib/jfreechart-1.0.9.jar | grep LocalizationBundle.properties 
org/jfree/chart/LocalizationBundle.properties 
org/jfree/chart/editor/LocalizationBundle.properties 
org/jfree/chart/plot/LocalizationBundle.properties 
0

जब आप ResourceBundle के प्रारंभ बनाते हैं, आप भी इस तरह से कर सकते हैं।

परीक्षण और विकास के लिए मैं एक गुण बनाया है नाम prp.properties के साथ \ src के तहत दायर।इस तरह से

उपयोग:

ResourceBundle rb = ResourceBundle.getBundle("prp"); 

सम्मेलन और सामान का नामकरण:

http://192.9.162.55/developer/technicalArticles/Intl/ResourceBundles/ 
-1

आप संसाधनों पैकेज पर सिर्फ सही क्लिक इंटेलीजे आईडीई का उपयोग कर और नए के लिए जाना और फिर रहे हैं, तो चयन संसाधन Boundle यह स्वचालित रूप से आप के लिए एक .properties फ़ाइल बनाएँ। यह मेरे लिए काम किया है।

संबंधित मुद्दे