Jfreechart(v 1.0.9)に依存するライブラリを使用しています。
.jarを実行しようとすると、次のメッセージが表示されます。
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)
LocalizationBundle.propertiesファイルを作成しようとしましたが、それはできませんでした。 CLASSPATHをチェックしましたが、まだ行きません。
何か案は?
Java.util.MissingResourceException:ベース名 org.jfree.chart.LocalizationBundle、ロケールen_USのバンドルが見つかりません
例外メッセージは、クラスパスに次のファイルのいずれかが必要であることを詳細に示しています。
/org/jfree/chart/LocalizationBundle.properties
または
/org/jfree/chart/LocalizationBundle_en.properties
または
/org/jfree/chart/LocalizationBundle_en_US.properties
詳細については、 Sunのリソースバンドルに関するチュートリアル も参照してください。
ただし、これは実際にはサードパーティの管理プロパティファイルであるため、自分で作成しないでください。 JFreeChart JARファイルですでに利用可能であるはずです。したがって、実行時にクラスパスで使用できるようにしてください。また、正しいバージョンを使用していることを確認してください。パッケージツリー内のプロパティファイルの場所mightは、JFreeChartのバージョンごとに変更されています。
JARファイルを実行する場合、-cp
引数を使用してクラスパスを指定できます。例えば。:
Java -jar -cp c:/path/to/jfreechart.jar yourfile.jar
または、JARのマニフェストファイルのclass-path
エントリとしてクラスパスを指定できます。 JARファイル自体に関連する相対パスを使用できます。 Donot%CLASSPATH%
環境変数を使用します。ignoredJava.exe
without-cp
、-classpath
、および-jar
引数を使用して実行されないJARおよびその他のすべてによって。
BalusCは正しい。バージョン1.0.13は最新ですが、1.0.9には必要なバンドルが含まれているようです。
$ 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
IntelliJ IDEを使用している場合は、リソースパッケージを右クリックして[新規]に移動し、[リソースバウンド]を選択すると、自動的に.propertiesファイルが作成されます。
ResourceBundleの初期化を作成するときに、この方法も実行できます。
テストと開発のために、prp.propertiesという名前の\ srcの下にプロパティファイルを作成しました。
この方法を使用します。
ResourceBundle rb = ResourceBundle.getBundle("prp");
命名規則ともの:
http://192.9.162.55/developer/technicalArticles/Intl/ResourceBundles/