2009-04-17 22 views
14

Tengo un simple análisis de propiedades de archivo que estoy tratando de conseguir trabajo: (el siguiente es TestProperties.java)dónde poner archivos .properties en un proyecto de 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); 
     } 
    } 

} 

y TestProperties.properties en el mismo directorio:

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

cual también han guardado como TestProperties_en_US.properties

Cuando corro TestProperties.java de Eclipse, que no puede encontrar el archivo de propiedades:

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

¿Estoy haciendo algo mal?

Respuesta

27

Colóquelo en el nivel de raíz de una de las rutas de origen o califique completamente el nombre del recurso en la llamada al getBundle, p.

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

Consulte los documentos para ResourceBundle.getBundle(String, Locale, ClassLoader) para obtener más información.

0

Aha, muchas gracias. Esto también funciona

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

yo sólo he estado tratando de resolver este problema, así, he encontrado que debe actualizar la lista de archivos de Eclipse antes de intentar ejecutar el proyecto. Luego puede tener sus archivos en el directorio base y usarlos de manera normal.

1

poner el archivo TestProperties_en_US.properties (Propery) en la carpeta src y vuelva a ejecutar el programa se ejecutará

13

no ponga sus archivos PROPIEDADES en la carpeta src! Obviamente eso funciona, pero básicamente NO es así como debes abordar tus problemas. Cree una nueva carpeta en su proyecto, por ejemplo, una carpeta 'Recursos', agréguela a classpath en las propiedades del proyecto y coloque allí todos los archivos que no sean .java.

Cuestiones relacionadas