2014-10-15 40 views
6

Tôi muốn để khởi động chương trình của tôi với java ... -Denv=prod ... và cóCách sử dụng biến môi trường hệ thống như một phần của giá trị @PropertySource?

@PropertySource("classpath:/settings/$idontknowwhat$/database.properties")` 

tính đọc file: /settings/prod/database.properties

Tôi đã cố gắng sử dụng #{systemProperties['env']} nhưng nó không được giải quyết với ngoại lệ:

Could not open ServletContext resource ['classpath:/settings/#{systemProperties['env']}/database.properties] 

Trả lời

7

Tìm thấy nó, tôi chỉ có thể sử dụng

@PropertySource("classpath:/settings/${env}/database.properties") 
+0

Nếu đang hoạt động, bạn có thể đánh dấu phản hồi là đã chấp nhận. – angelcervera

+0

Maven không thể thấy rằng $ {env} không may, vì vậy một số cách khác nên được chọn. Có lẽ Maven conf? Thật vậy, không cần triển khai maven, nó thực hiện thủ thuật. –

+0

Làm thế nào là maven liên quan ở đây? Đây là về Spring giải quyết một nguồn tài sản dựa trên tham số dòng lệnh được cung cấp trong khi khởi chạy ứng dụng. – Czar

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