6
votes

Java.Util.MissingResourceException

Je suis en dessous de l'exception lors de l'exécution d'une application. Cette application Lisez ABC.PROPERTES Fichier,

Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name abc, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:853)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:822)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:566)
    at com.ibm.dst.DailyExtract.getResourceBundle(DailyExtract.java:104)
    at com.ibm.dst.DailyExtract.main(DailyExtract.java:131)


1 commentaires

Pouvez-vous confirmer si le fichier est dans votre point de classe au moment de l'exécution? Fournissez peut-être le code et la mise en page de fichier que vous utilisez.


6 Réponses :


13
votes

Suivez les astuces dans Cet article et voyez si vous avez créé une de ces erreurs, qui pourrait être (copier collé du lien):

  1. Ces fichiers de propriétés de ressources sont chargés par le chargeur de classe, similaire aux classes Java. Donc, vous devez les inclure dans votre parcours d'exécution.

  2. Ces ressources ont un nom de ressource entièrement qualifié, similaire à un nom de classe entièrement qualifié, extrait que vous ne pouvez pas importer de ressource dans votre fichier source Java. Pourquoi? parce que son nom prend la forme d'une chaîne.

  3. de ressourcesBundle.getbundle ("config") Indique au chargeur de classe de charger une ressource nommée "config" avec le package par défaut (c'est-à-dire sans paquet). Cela ne signifie pas une ressource dans le paquet actuel qui a la classe de référencement.

  4. de ressourcesBundle.getbundle ("com.cheng.scrap.config") Indique au chargeur de classe à charger une ressource nommée "config" avec le package "com.cheng.scrap." Son nom de ressources entièrement qualifié est "com.cheng.scrap.config"


1 commentaires

J'ai eu la même erreur, mes fichiers de propriétés étaient situés dans le même package que le fichier de classe, en spécifiant le nom complet (nom de fichier + nom de fichier de propriétés) fonctionnant avec moi



0
votes

est le fichier dans votre classe de classe? Si c'est le cas, essayez de le renommer à abc_en_us.properties


0 commentaires

1
votes

Chargement du fichier de propriétés pour la localisation des trucs est également affecté par la dénomination de l'emballage. Si vous mettez votre fichier de propriétés dans un package comme org.example.com.foobar et chargez-le simplement par son nom abc Vous devez ajouter le préfixe org. exemple.com.foobar , aussi. Si vous avez les propriétés à un emplacement différent (comme dans le répertoire racine ou dans un autre sous-répertoire), vous devez modifier le nom en charge ou sur le chemin de classe.

I Excourcir la mise en place du fichier de propriétés dans le même endroit où .java fichier est et en utilisant quelque chose comme xxx


0 commentaires

3
votes

Il vous suffit d'ajouter le nom du package tout en obtenant le fichier

par exemple si votre nom de propriétés est "ABC.Properties" dans l'emballage ABC, le code ci-dessous fonctionnera parfaitement xxx


0 commentaires

1
votes

J'ai eu le même problème aujourd'hui et cela m'a fallu un peu de temps jusqu'à ce que je puisse comprendre une solution (j'utilise Eclipse comme IDE). Mon dossier de projet contient les * .properties-fichiers dans le chemin suivant:

**/*.properties


0 commentaires

2
votes

Copiez simplement le fichier de ressources sur l'endroit où sont vos fichiers de classe.

Dans mon cas, mon répertoire était: xxx

copier votre fichier de ressource dans le dossier BIN.


0 commentaires