2015-04-29 20 views
5

Đây là câu hỏi dành cho người mới bắt đầu. Vì vậy, cấu trúc ứng dụng của tôi trông giống nhưCấu hình Typesafe: Tải cấu hình từ 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 

Trong thử nghiệm của tôi, tôi làm

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

và những gì tôi nhìn thấy

Config(SimpleConfigObject({})) 

Chắc chắn có điều gì đó không đúng, nhưng tôi không thể nhận ra nó

CẬP NHẬT

Khi tôi làm chỉ

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

    } 

tôi xem

mainLocation 

Vì vậy, ghi đè không hoạt động, tại sao?

+0

Hãy thử 'System.out.println (config.getString (" location "));' – Titus

+0

'com.typesafe.config.ConfigException $ Missing: Không tìm thấy cài đặt cấu hình nào cho khóa 'location'' – daydreamer

+0

Bạn đã viết sai chính tả tên tệp 'test.module.config' thay vì' test.module.conf' – Titus

Trả lời

8

Nếu bạn muốn tải tập tin đó kiểm tra cấu hình thử điều này:

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

Các cơ sở ConfigFactory.load() phương pháp trông để tải trang 'application.conf'. Nếu bạn muốn nó tải một tập tin khác nhau, bạn cần phải nói cho nó những gì mà tập tin khác nhau được.

Các vấn đề liên quan