6

アプリケーションの実行中に例外が発生します。このアプリケーションはabc.propertiesファイルを読み取ります。

スレッド"main"の例外java.util.MissingResourceException:ベース名abc、ロケールen_USのバンドルが見つかりません
    java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:853)で
    java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:822)で
    java.util.ResourceBundle.getBundle(ResourceBundle.java:566)で
    com.ibm.dst.DailyExtract.getResourceBundle(DailyExtract.java:104)で
    com.ibm.dst.DailyExtract.main(DailyExtract.java:131)で

abc.propertiesファイルはワークスペースにあります。RSA7をIDEとして使用していますが、設定に問題はありますか?どんな提案でも大歓迎です.....

よろしくお願いします

4

6 に答える 6

13

この投稿のヒントに従って、これらの間違いの1つを犯したかどうかを確認してください。これは(リンクからコピーして貼り付ける)可能性があります。

  1. これらのリソースプロパティファイルは、Javaクラスと同様にクラスローダーによってロードされます。したがって、それらをランタイムクラスパスに含める必要があります。

  2. これらのリソースには、完全修飾クラス名と同様に、完全修飾リソース名があります。これは、Javaソースファイルにリソースをインポートできない抜粋です。なんで?その名前は文字列の形をとっているからです。

  3. ResourceBundle.getBundle("config")「config」という名前のリソースをデフォルトのパッケージ(つまり、パッケージなし)でロードするようにクラスローダーに指示します。これは、参照クラスを持つ現在のパッケージ内のリソースを意味するものではありません。

  4. ResourceBundle.getBundle("com.cheng.scrap.config")パッケージ「com.cheng.scrap」で「config」という名前のリソースをロードするようにクラスローダーに指示します。その完全修飾リソース名は「com.cheng.scrap.config」です。

于 2010-04-14T10:27:34.533 に答える
3

ファイルを取得するときにパッケージ名を追加するだけです

たとえば、プロパティ名がパッケージabcの「ABC.properties」である場合、以下のコードは完全に機能します

ResourceBundle labels = ResourceBundle.getBundle("a.b.c.ABC");
于 2012-11-21T08:38:28.560 に答える
2

クラスファイルがある場所にリソースファイルをコピーするだけです。

私の場合、私のディレクトリは次のとおりです。

bin 
  - com 
     - brookf 
        - all my packages here. 

リソース ファイルを bin フォルダーにコピーします。

于 2016-07-26T13:00:34.727 に答える
1

ローカリゼーション用のプロパティ ファイルの読み込みも、パッケージの命名の影響を受けます。プロパティファイルを次のようなパッケージに入れ、org.example.com.foobarその名前だけでロードするabc場合は、プレフィックスも追加する必要がありorg.example.com.foobarます。プロパティが別の場所 (ルート ディレクトリや別のサブディレクトリなど) にある場合は、ロードする名前またはクラスパスを変更する必要があります。

プロパティファイルをファイルと同じ場所に配置し、次の.javaようなものを使用して問題なく実行できます

private static ResourceBundle RES = ResourceBundle.getBundle(NameOfTheCurrentClass.class.getCanonicalName());
于 2010-04-14T10:31:16.850 に答える
1

私は今日同じ問題を抱えていましたが、修正を見つけるまでしばらく時間がかかりました (IDE として Eclipse を使用しています)。私のプロジェクト フォルダーには、次のパスに *.properties-Files が含まれています。

project/src/strings

文字列は src のサブフォルダーであり、src は既にプロジェクトのビルド パスにあるため (プロパティ ウィンドウを参照)、必要なのは *.properties-Files の包含パターンを追加することだけでした。

**/*.properties

*.java-Files (**/*.java) の包含パターンが既にあるはずです

多分あなたのIDEに似たものがあるでしょう

于 2014-10-21T22:19:27.960 に答える
0

ファイルはクラスパスにありますか? そうである場合は、名前を abc_en_US.properties に変更してみてください

于 2010-04-14T10:28:52.893 に答える