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?
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é avecJava.exe
sans les arguments-cp
,-classpath
et-jar
.
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
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.
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/