我有SpringBoot 1.5.1的问题.我已经创建application.properties
和application-dev.properties
我的开发环境.
主要区别在于持久性:在production(application.properties
)中有一个JNDI(在Tomcat上配置),在dev中有一个本地db(H2).
这是我的尴尬application.properties
:
spring.datasource.jndi-name=jdbc/db
Run Code Online (Sandbox Code Playgroud)
这是application-dev.properties
:
spring.datasource.url=jdbc:h2:file:~/db
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
Run Code Online (Sandbox Code Playgroud)
但是当我开始使用dev配置文件时
2017-02-24 15:25:39.948 INFO 7912 --- [ main] it.geny.MmqApplication : The following profiles are active: dev
Run Code Online (Sandbox Code Playgroud)
我的应用程序停止,因为它没有找到JNDI jdbc/db !!!! 我正在尝试更改我的日志配置application-dev.properties
,它的工作原理!但不是持久性配置的变化.
提前致谢
application-dev.properties
覆盖属性的所有属性application.properties
.但是如果in application.properties
属于未在dev中设置的属性,则它们也将被包含在上下文中.如果spring.datasource.jndi-name
启用该spring.datasource
属性,则会忽略所有属性.
解决方案是创建另一个属性文件,application-prod.properties
然后设置spring.datasource.jndi-name
它.数据源的东西可以保留application-dev.properties
.
在您的application.properties
文件中,您应该启用您要使用的配置文件:spring.profiles.active=prod
或spring.profiles.active=dev
归档时间: |
|
查看次数: |
7711 次 |
最近记录: |