2009-04-17 13 views
14

मेरे पास एक बहुत ही सरल गुण फ़ाइल परीक्षण है जो मैं काम करने की कोशिश कर रहा हूं: (निम्नलिखित testProperties.java है)एक ग्रहण परियोजना में .properties फ़ाइलों को कहां रखा जाए?

package com.example.test; 

import java.util.ResourceBundle; 

public class TestProperties { 
    public static void main(String[] args) { 
     ResourceBundle myResources = 
       ResourceBundle.getBundle("TestProperties"); 
     for (String s : myResources.keySet()) 
     { 
      System.out.println(s); 
     } 
    } 

} 

और testProperties.properties एक ही निर्देशिका में:

something=this is something 
something.else=this is something else 

जो मेरे पास है TestProperties_en_US.properties

के रूप में भी सहेजा गया जब मैं ग्रहण से TestProperties.java चलाता हूं, तो यह गुण फ़ाइल नहीं ढूंढ सकता:

java.util.MissingResourceException: 
Can't find bundle for base name TestProperties, locale en_US 

क्या मैं कुछ गलत कर रहा हूं?

उत्तर

27

अपने स्रोत पथ में से एक के रूट स्तर पर यह रखो, या पूरी तरह से getBundle, उदा करने के लिए कॉल में संसाधन नाम अर्हता

ResourceBundle myResources = 
      ResourceBundle.getBundle("com.example.test.TestProperties"); 

अधिक जानकारी के लिए ResourceBundle.getBundle(String, Locale, ClassLoader) के लिए दस्तावेज़ देखें।

0

अहा, धन्यवाद एक गुच्छा। यह भी काम करता है।

package com.example.test; 

import java.util.ResourceBundle; 

public class TestProperties { 
    public static void main(String[] args) { 
     ResourceBundle myResources = 
      ResourceBundle.getBundle(TestProperties.class.getCanonicalName()); 
     for (String s : myResources.keySet()) 
     { 
      System.out.println(s); 
     } 
    } 
} 
2

मैं सिर्फ इस समस्या को हल करने के लिए और साथ ही कोशिश कर रहे हैं, मैं ने पाया है कि आप फ़ाइलों के ग्रहण की सूची इससे पहले कि आप अपनी परियोजना चलाने का प्रयास रीफ़्रेश करना होगा। फिर आप अपनी फाइलें मूल निर्देशिका में रख सकते हैं और उन्हें सामान्य के रूप में उपयोग कर सकते हैं।

1

src फ़ोल्डर में TestProperties_en_US.properties (प्रॉपर्टी) फ़ाइल रखा और फिर कार्यक्रम यह

13

अपने src फ़ोल्डर में अपने propierties फ़ाइलें न रखें चलेंगे चलाने! जाहिर है कि काम करता है, लेकिन मूल रूप से यह नहीं है कि कैसे आप अपनी समस्याओं संपर्क करना चाहिए। अपनी परियोजना में एक नया फ़ोल्डर बनाएँ, एक 'संसाधन' फ़ोल्डर उदाहरण के लिए, परियोजना संपत्तियों में classpath में जोड़ने और जावा वहाँ के अलावा अन्य सभी फाइलों को डाल दिया।

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