2009-04-17 10 views
14

Ho un test molto semplice proprietà di file Sto cercando di ottenere di lavoro: (il seguente è TestProperties.java)dove inserire i file .properties in un progetto Eclipse?

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); 
     } 
    } 

} 

e TestProperties.properties nella stessa directory:

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

che ho hanno anche salvato TestProperties_en_US.properties

Quando eseguo TestProperties.java da Eclipse, non si riesce a trovare il file delle proprietà:

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

Sto facendo qualcosa di sbagliato?

risposta

27

Inseritelo al livello root di uno dei percorsi di origine oppure qualificate completamente il nome della risorsa nella chiamata a getBundle, ad es.

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

Vedi la documentazione per ResourceBundle.getBundle(String, Locale, ClassLoader) per ulteriori informazioni.

0

Aha, grazie mille. Anche questo funziona.

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

ho appena cercato di risolvere questo problema, così, ho scoperto che è necessario aggiornare l'elenco dei file di Eclipse prima di provare a eseguire il progetto. Quindi puoi avere i tuoi file nella directory di base e usarli normalmente.

1

mettere il file TestProperties_en_US.properties (propery) nella cartella src e quindi eseguire il programma verrà eseguito

13

Non mettere i file propierties nella cartella src! Ovviamente funziona, ma in fondo NON è questo il modo in cui dovresti affrontare i tuoi problemi. Crea una nuova cartella nel tuo progetto, ad esempio una cartella "Risorse", aggiungila al classpath nelle proprietà del progetto e metti lì tutti i file diversi da .java.