28

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を確認しましたが、まだ行きません。

何か案は?

4

4 に答える 4

37
java.util.MissingResourceException:ベース名のバンドルが見つかりません
    org.jfree.chart.LocalizationBundle、locale en_US

要するに、例外メッセージは、クラスパスに次のファイルのいずれかが必要であることを詳細に示しています。

/org/jfree/chart/LocalizationBundle.properties

また

/org/jfree/chart/LocalizationBundle_en.properties

また

/org/jfree/chart/LocalizationBundle_en_US.properties

詳細については、resourcebundlesに関する公式のJavaチュートリアルも参照してください。

ただし、これは実際にはサードパーティの管理プロパティファイルであるため、自分で作成しないでください。JFreeChartJARファイルですでに利用可能になっているはずです。したがって、実行時にクラスパスで使用できることを確認してください。また、正しいバージョンを使用していることを確認してください。パッケージツリー内のプロパティファイルの場所は、JFreeChartのバージョンごとに変更されている可能性があります。

JARファイルを実行するときは、-cp引数を使用してクラスパスを指定できます。例えば:

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

class-pathまたは、JARのマニフェストファイルのエントリとしてクラスパスを指定することもできます。そこで、JARファイル自体に相対的な相対パスを使用できます。環境変数は使用しないでください。JARや、引数なしで実行されないその他すべての変数によって無視されます。%CLASSPATH%java.exe -cp-classpath-jar

于 2010-01-17T23:59:47.817 に答える
2

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
于 2010-01-18T02:56:31.620 に答える
2

IntelliJ IDEを使用している場合は、リソースパッケージを右クリックし、[新規]に移動して、[リソースバインド]を選択すると、.propertiesファイルが自動的に作成されます。これは私にとってはうまくいきました。

于 2017-12-18T15:55:54.793 に答える
0

.propertiesファイルをcomと同じレベルのsrc/フォルダーに置くと問題が解決しました。

于 2021-04-02T08:08:59.653 に答える