Vì vậy, điều này phải là một số sai lầm ngớ ngẩn, mà tôi đã không thể đi qua. Tôi đang cố gắng để bên ngoài tập tin thuộc tính của tôi, hiện đang được đặt trong nhà người dùng của tôi. Tôi đang tải tệp thuộc tính bằng cách sử dụng @PropertySource
như thế này:Spring PropertyPlaceHolder Java Config tập tin thuộc tính bên ngoài
Nhưng thật không may, điều đó không tải tệp thuộc tính. Ném FileNotFoundException
. Nhưng nếu tôi thay đổi đường dẫn đến:
@PropertySources(value = { @PropertySource("file:/home/rohit/.invoice/config.properties") })
hoạt động bình thường. Và đó là con đường mà con đường trước đó giải quyết. Tôi đã đăng nhập để xác minh. Vì vậy, có vẻ như với tôi rằng Spel không được đánh giá trong chú thích @PropertySource
. Có phải nó phải hoạt động theo cách đó không?
Nếu có, thì có cách nào khác để đọc tệp thuộc tính bên ngoài, nằm trong /home/rohit
không? Tôi không muốn đưa ra con đường tuyệt đối, vì những lý do hiển nhiên. Và tôi muốn tránh mở rộng lớp PropertyPlaceHolderConfigurer
.
Một tùy chọn khác mà tôi đã thử đã thêm thư mục /home/rohit/.invoice
vào đường dẫn lớp tomcat. Nhưng có vẻ như Spring không sử dụng System Classpath để giải quyết hậu tố classpath:
. Bất kỳ con trỏ về điều này?
Cụm từ này sẽ không hoạt động bằng cách sử dụng 'tệp: $ {user.home} /. Invoice/config.properties' thay thế. –
@ M.Deinum Hãy để tôi thử điều đó .. –
@ M.Deinum Ahaa !! Nó làm việc :) Đăng đó như là một câu trả lời, vì vậy tôi có thể chấp nhận nó :) –