web-dev-qa-db-fra.com

Impossible de trouver le paquet pour le nom de base

J'utilise une bibliothèque qui a une dépendance sur jfreechart (v 1.0.9).

Quand j'essaye de lancer le .jar, je reçois:

Java.util.MissingResourceException: Can't find bundle for base name
        org.jfree.chart.LocalizationBundle, locale en_US
    at Java.util.ResourceBundle.throwMissingResourceException
        (ResourceBundle.Java:1521)
    at Java.util.ResourceBundle.getBundleImpl(ResourceBundle.Java:1260)
    at Java.util.ResourceBundle.getBundle(ResourceBundle.Java:962)

J'ai essayé de créer un fichier LocalizationBundle.properties, mais cela ne l'a pas fait. J'ai vérifié le CLASSPATH, toujours pas.

Des idées? 

24
Shane Castle
Java.util.MissingResourceException: Impossible de trouver un ensemble pour le nom de base 
 org.jfree.chart.LocalizationBundle, locale en_US

En fait, le message d'exception indique en détail que vous devez avoir l'un des fichiers suivants dans le chemin d'accès aux classes:

-cp pour spécifier le chemin d'accès aux classes. Par exemple.:

Java -jar -cp c:/path/to/jfreechart.jar yourfile.jar

Vous pouvez également spécifier le chemin d'accès aux classes sous la forme d'une entrée class-path dans le fichier manifeste du fichier JAR. Vous pouvez y utiliser des chemins relatifs relatifs au fichier JAR lui-même. Utilisez not avec la variable d’environnement %CLASSPATH%, c’est ignoré par les fichiers JAR et tout ce qui n’est pas exécuté avec Java.exesans les arguments-cp, -classpath et -jar.

34
BalusC

BalusC a raison. La version 1.0.13 est actuelle, mais 1.0.9 semble avoir les ensembles requis:

 $ jar tf lib/jfreechart-1.0.9.jar | grep LocalizationBundle.properties 
 org/jfree/chart/LocalizationBundle.properties 
 org/jfree/chart/editor/LocalizationBundle.properties 
 org/jfree/chart/plot/LocalizationBundle.properties 
2
trashgod

Si vous utilisez IntelliJ IDE], cliquez avec le bouton droit de la souris sur le paquet de ressources, accédez à new et sélectionnez Resource Boundle pour créer automatiquement un fichier .properties. Cela a fonctionné pour moi. 

1
mmdreza baqalpour

Lorsque vous créez une initialisation du ResourceBundle, vous pouvez également le faire.

Pour les tests et le développement, j'ai créé un fichier de propriétés sous\src avec le nom prp.properties.

Utilisez cette manière: 

ResourceBundle rb = ResourceBundle.getBundle("prp");

Convention de nommage et autres choses: 

http://192.9.162.55/developer/technicalArticles/Intl/ResourceBundles/
0
Franky