-1

この質問の回答を見ましたが、うまくいきませんでした。Resources フォルダに「config_en.properties」というファイルがあります。(プロジェクト->リソース->config_en.properties)

jms_Address=t3://127.0.0.1:7101
connection_Lookup_Address=BatchApp-BatchGebelikTakip-BatchGebelikTakipEJB#tr.com.surat.esaglik.batch.ejb.IBatchGebelikTakipEJB

そして、私のJavaクラスで、この構成を読み取ろうとします:

private static final String fileName="config"; 

public static final String jms_Address="jms_Address";
public static final String conn_Lookup_Address="connection_Lookup_Address";
private static ResourceBundle res;
private static ClassLoader cl;
static {
    try {
        cl = Thread.currentThread().getContextClassLoader();
        res = ResourceBundle.getBundle(fileName, Locale.ENGLISH, cl);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void test(){
    System.out.println(res.getString(jms_Address).
}

しかし、次のエラー メッセージが表示されます。

java.util.MissingResourceException: Can't find bundle for base name config, locale en
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:952)
    at tr.com.surat.esaglik.batch.Main.<clinit>(Main.java:34)
java.lang.NullPointerException
    at tr.com.surat.esaglik.batch.Main.getInitialContext(Main.java:74)
    at tr.com.surat.esaglik.batch.Main.run(Main.java:43)

なにが問題ですか?

ここに画像の説明を入力

4

1 に答える 1

3

リソースバンドルの読み込み方法を示す簡単なアプリを作成しました

ここに画像の説明を入力してください

Main.java

package org.stackoverflow.main;

import java.util.Locale;
import java.util.ResourceBundle;

/**
 * @author Eugene Pavlovsky
 * @since 13.08.12
 */
public class Main {

  public static void main(String[] args) {
    ResourceBundle resourceBundle = ResourceBundle.getBundle("org.stackoverflow.config.config", Locale.ENGLISH);
    System.out.println(resourceBundle != null);
  }
}
于 2012-08-13T10:39:39.407 に答える