SpringBoot:配置生产与开发环境
我对SpringBoot 1.5.1有问题。我已经创建application.properties
和application-
dev.properties我的开发环境。
主要区别在于持久性:生产(application.properties
)中有一个JNDI(在Tomcat上配置),而在开发中有一个本地数据库(H2)。
这是我的conf application.properties
:
spring.datasource.jndi-name=jdbc/db
这是application-dev.properties
:
spring.datasource.url=jdbc:h2:file:~/dbspring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
但是当我从开发人员简介开始时
2017-02-24 15:25:39.948 INFO 7912 --- [ main] it.geny.MmqApplication : The following profiles are active: dev
我的应用程序停止,因为找不到JNDI jdbc / db !!我正在尝试更改自己的日志配置,application-
dev.properties并且可以正常工作!但不更改持久性配置。
提前致谢
回答:
的所有属性application-
dev.properties会覆盖中的属性application.properties
。但是如果application.properties
indev中没有设置的属性,它们也将包含在上下文中。如果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
以上是 SpringBoot:配置生产与开发环境 的全部内容, 来源链接: utcz.com/qa/412606.html