我有一个叫做Pikachu的项目,它的结构是这样的
src
|-test
|-main
|-java
|-config
|-dev
|-test
|-prod
|-resources
|-pikachu.mvc.spring.xml每个环境(dev、test、prod)都有自己的属性文件(.j2格式)。在pikachu.mvc.spring.xml内部,我为数据源设置了bean
// pikachu.mvc.spring.xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</bean>在不同环境下的每个属性文件是,
// dev/pikachuCfg.properties.j2
db.username = {{pikachu.db_username}}
db.password = {{pikachu.db_password}}
db.url = {{pikachu.db_url}}
db.driver = {{pikachu.db_driver}}一旦我部署到每个环境,它就会成功地加载属性。但是,当我在本地(Jboss11)上启动它时,它会抛出PropertyAccessException,
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [${db.driver}]"}}这是我的问题。
resources文件夹中有属性文件,它是否比配置文件夹中的属性文件有更高的顺序?如果它比config文件夹中的其他属性文件有更高的顺序,那么该项目如何在不同的环境(dev、test、prod)中使用属性文件?提前感谢!
编辑
我看过这份文件,(https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config)。但是,我仍然不清楚在config文件夹和当前文件夹( spring.mvc.xml位于哪里)之间哪个文件夹有更高的顺序。
发布于 2020-02-27 18:20:25
希望这能帮上忙
spring.profiles.active=dev
)时注释过的
https://stackoverflow.com/questions/60436729
复制相似问题