gpt4 book ai didi

java - Spring在从文件系统加载配置文件时无法解析占位符

转载 作者:行者123 更新时间:2023-11-30 11:11:01 25 4
gpt4 key购买 nike

我遇到了 spring 占位符配置问题。我在网上搜索过,试图找到解决方案,但没有任何效果。

我们曾经使用 spring 配置器来加载我们的 .properties 文件,并且一切正常,因为配置文件位于 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 中。其他配置(例如日志记录)效果很好。

如有任何建议,我将不胜感激。

最佳答案

这只是一个想法,但它可能会奏效,

您是否检查过.property 文件是否具有正确的访问权限?我的意思是,运行您的 Spring 应用程序的用户是否可以访问它?

如果您显示显示的错误,将会有很大帮助。

关于java - Spring在从文件系统加载配置文件时无法解析占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27564929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com