SpringBoot:配置生产与开发环境

我对SpringBoot 1.5.1有问题。我已经创建application.propertiesapplication-

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:~/db

spring.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.propertiesindev中没有设置的属性,它们也将包含在上下文中。如果spring.datasource.jndi-

name启用了该spring.datasource属性,则将忽略所有属性。

解决方案是创建另一个属性文件,例如application-prod.properties并在spring.datasource.jndi-

name那里进行设置。数据源的内容可以保留在中application-dev.properties

application.properties文件中,应启用您要使用的配置文件:spring.profiles.active=prodspring.profiles.active=dev

以上是 SpringBoot:配置生产与开发环境 的全部内容, 来源链接: utcz.com/qa/412606.html

回到顶部