[英]Spring Could not resolve placeholder while loading config file form filesystem
我面對的是Spring占位符配置問題。 我已經在網上搜索以尋找解決方案,但對我來說根本沒有用。
我們曾經使用spring configurer來加載.properties文件,並且由於configfiles位於META-INF目錄中,因此一切運行正常。
現在,我們需要將配置文件放在/ etc / sep / properties目錄或其他文件系統目錄中。
我嘗試使用
<context:property-placeholder location="file:/etc/sep/properties/jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.databaseurl}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialPoolSize}" />
</bean>
/etc/sep/properties/jdbc.properties的內容如下:
cat /etc/sep/properties/jdbc.properties
jdbc.driverClassName= org.postgresql.Driver
jdbc.dialect=org.hibernate.dialect.PostgreSQLDialect
jdbc.databaseurl=jdbc:postgresql://localhost:5432/sep?characterEncoding=utf8&autoReconnect=true
jdbc.username=****
jdbc.password=****
我也嘗試過使用另一種方法,但對我都沒有用。
<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="/etc/sep/properties/jdbc.properties" />
</bean>
我不知道這是否重要,但是我們正在使用Maven構建,因此application-context.xml放在core-lib.jar中,在我們的Web應用程序中將它用作依賴項。 其他配置(例如日志記錄)效果很好。
如有任何建議,我將不勝感激。
這只是一個主意,但可能有效,
您是否檢查過.property
文件具有正確的訪問權限? 我的意思是,運行Spring應用程序的用戶可以訪問它嗎?
如果您顯示所顯示的錯誤,這將很有幫助。
好的,我終於解決了。 有兩件事。
一開始:我的tomcat服務器未正確更新已部署的文件。
最后我不確定它是否有幫助,但是我們在file:規范后又添加了一個斜杠,因此結果是:
<context:property-placeholder location="file:///etc/sep/properties/*.properties" />
現在,它正在正確加載所有配置文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.