Chúng tôi sử dụng để có một cách để tải các thuộc tính từ một tập tin trên classpath:Làm thế nào để sử dụng tài sản giữ chỗ cho tập tin trên hệ thống tập tin
<context:property-placeholder location="classpath:myConfigFile.properties" />
và nó làm việc rất lớn. Nhưng bây giờ chúng tôi muốn tải các thuộc tính từ một tệp cụ thể trên hệ thống KHÔNG ở trong đường dẫn lớp. Chúng tôi muốn có khả năng tải động tệp, vì vậy chúng tôi đang sử dụng biến môi trường Java để điền nó. Tôi sẽ đưa ra một ví dụ đơn giản dưới đây:
Trong Java:
System.setProperty("my.prop.file", "/path/to/myConfigFile.properties");
Trong mùa xuân XML:
<context:property-placeholder location="${my.prop.file}" />
Tôi cũng đã thử theo cách này, nhờ vào một ý tưởng từ Luciano:
<context:property-placeholder properties-ref="prop" />
<util:properties id="prop" location="reso"/>
<bean id="reso" class="org.springframework.core.io.FileSystemResource">
<constructor-arg index="0" value="${my.prop.file}" />
</bean>
Mọi thứ tôi đã thử đều thất bại. Không có vấn đề gì tôi đặt my.prop.file. Số lần truy cập lớn nhất bao gồm:
<context:property-placeholder location="/path/to/myConfigFile.properties" />
(ClassNotFoundException: .path.to.myConfigFile.properties)
<context:property-placeholder location="file:/path/to/myConfigFile.properties" />
(ClassNotFoundException: file:.path.to.myConfigFile.properties)
<context:property-placeholder location="file:///path/to/myConfigFile.properties" />
(ClassNotFoundException: file:...path.to.myConfigFile.properties)
Bạn sử dụng trình giữ chỗ thuộc tính với vị trí nằm trên hệ thống tệp và NOT trên đường dẫn lớp như thế nào? Chúng tôi đang sử dụng Spring 3.0.5.
Hóa ra đã xảy ra sự cố với tập lệnh chạy chương trình Java tải tệp spring. Cảm ơn vì sự giúp đỡ. Tôi sẽ yêu cầu xóa câu hỏi này, vì mã ban đầu hoạt động sau khi tất cả. Cảm ơn sự giúp đỡ của bạn.
BTW mạnh không đồng ý w/này bị đóng cửa –
Không đồng ý với việc đóng cửa, tôi đến đây sau khi một số googling và nó descibes câu hỏi chính xác tôi có ... –
Tôi cũng vậy - Tôi không hiểu tại sao điều này đã được đóng lại với một "quá địa hóa" thể loại? cho tôi? – monojohnny