MissingResourceException - ne Peut pas trouver de bundle pour le nom de base

Je sais qu'il y a beaucoup de questions et de réponses justement à propos de cette erreur sur stackoverflow et d'autres forums. Mais je ne peux toujours pas trouver la solution...

Pour des raisons de vitesse j'ai une classe utilitaire qui permet de charger toutes les données statiques de cartes (par exemple mois) en fonction des paramètres régionaux fournis.

Donc cette classe utilitaire ressemble à quelque chose comme ceci:

public static final String GLOBAL_MESSAGES = "globalMessages";

private static Map<Integer,Month> monthsMap;

private ResourceBundle getResourceBundle(Locale locale) {
    ResourceBundle rb = ResourceBundle.getBundle(GLOBAL_MESSAGES, locale);
    return rb;
}

private Map<Integer,Month> getMonths() {
    if(monthsMap == null) {
        setMonths();
    }
    return monthsMap;
}

private void setMonths() {
    try {
        monthsMap = getFactory().getDAO().getAllMonths();
    } catch (SQLException e) {
        logger.error(e);
    } catch (EmptyResultException e) {
        logger.error(e);
    }
}

public Map<Integer,Month> getMonths(Locale locale) {
    if(locale == null) {
        return monthsMap;
    } else {
        if(this.locale != locale) {
            this.locale = locale;
            setMonths();
        }
    }
    ResourceBundle rb = getResourceBundle(locale);
    Map<Integer,Month> map = new HashMap<Integer, Month>();
    for(Month akVO : getMonths().values()) {
        try {
            akVO.setName(rb.getString(akVO.getName()));
        } catch (MissingResourceException e) {
            //already done
        }
        map.put(akVO.getId(), akVO);
    }       
    return map;
}

Fichiers globalMessages.propriétés (globalMessages_en_US.propriétés,...) sont directement dans le paquet source ressources. Lors de son déploiement sur Tomcat il y a dans le dossier WEB-INF/classes.

Maintenant le problème. Tout cela fonctionne lorsque l'on travaille dans cette application. Mais j'ai une autre application qui se connecte via l'API REST (JAX-RS). Lors d'une demande App/rest/months.xml j'obtiens l'erreur suivante:

java.util.MissingResourceException: Can't find bundle for base name globalMessages, locale en_us

Je suis vraiment perdu. Et désespérés...

OriginalL'auteur Trick | 2010-07-23