1. ホーム
  2. java

[解決済み] java.util.MissingResourceException: ベースネーム 'property_file name', ロケール en_US のバンドルが見つかりません。

2022-02-15 15:54:03

質問

ユーティリティクラスを作成しようとしています。 ReadPropertyUtil.java プロパティファイルからデータを読み取るためのものです。私のクラスはutilディレクトリの下に配置されていますが、私の skyscrapper.properties ファイルは、他のディレクトリに置かれています。

しかし、このプロパティにアクセスするために [ResourceBundle][1] バンドルが読み込まれないという例外が発生します。

以下は、私がどのようにプロパティを読み込んでいるかのコードと、私のディレクトリ構造を示す画像です。

リードプロパティユーティル(ReadPropertiesUtil.java)

/**
 * Properties file name.
 */
private static final String FILENAME = "skyscrapper";

/**
 * Resource bundle.
 */
private static ResourceBundle resourceBundle = ResourceBundle.getBundle(FILENAME);

/**
 * Method to read the property value.
 * 
 * @param key
 * @return
 */
public static String getProperty(final String key) {
    String str = null;
    if (resourceBundle != null) {
        str = resourceBundle.getString(key);
            LOGGER.debug("Value found: " + str + " for key: " + key);
    } else {
            LOGGER.debug("Properties file was not loaded correctly!!");
    }
    return str;
}

ディレクトリ構造

この行はエラーを発生させます private static ResourceBundle resourceBundle = ResourceBundle.getBundle(FILENAME);

なぜうまくいかないのか、解決策は何なのか、理解できません。その src フォルダはビルドパスに完全に追加されています。

解決方法は?

で試してみてください。 完全修飾名 をリソースに追加します。

private static final String FILENAME = "resources/skyscrapper";