2015-04-29 29 views
5

To jest pytanie dla początkujących. Więc moja aplikacja struktura wyglądaKonfiguracja Typesafe: Załaduj konfigurację z src/test/resources

src/main/java/... 
src/main/resources/application.conf 

src/test/java/... 
src/test/resources/module/test.module.conf 

application.conf

location: mainLocation 

test.module.conf

location: testLocation 

W moim teście, robię

@Test 
    public void testLoadConfig() { 
    final Config config = ConfigFactory.parseResources("test.module.conf"); 
    System.out.println(config); 
    } 

i co widzę

Config(SimpleConfigObject({})) 

Na pewno coś jest nie tak, ale nie mogę dostrzec to

UPDATE

Kiedy zrobić tylko

@Test 
    public void testActorForFailure() { 
// final Config config = ConfigFactory.load("test.module.conf"); 
    final Config config = ConfigFactory.load(); 
    System.out.println(config.getString("location")); 

    } 

I zobacz

mainLocation 

Nadpisywanie nie działa, dlaczego?

+0

Wypróbuj 'System.out.println (config.getString (" location "));' – Titus

+0

'com.typesafe.config.ConfigException $ Brakujący: Nie znaleziono ustawienia konfiguracji dla klucza 'location'' – daydreamer

+0

Błąd w pisowni nazwa pliku 'test.module.config' zamiast' test.module.conf' – Titus

Odpowiedz

8

Jeśli chcesz załadować ten plik testowy config spróbuj tego:

ConfigFactory.load("modules/test.module") 

Podstawa ConfigFactory.load() metoda wygląda załadować „application.conf”. Jeśli chcesz załadować inny plik, musisz powiedzieć mu, co to inny plik.