首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringBoot:配置生产与开发环境

SpringBoot:配置生产与开发环境
EN

Stack Overflow用户
提问于 2017-02-24 22:33:38
回答 1查看 9.4K关注 0票数 6

我对SpringBoot 1.5.1有一个问题。我已经为我的开发环境创建了application.propertiesapplication-dev.properties

主要区别在于持久性:在生产环境(application.properties)中有一个JNDI (在Tomcat上配置),而在开发环境中有一个本地数据库(H2)。

这是我在application.properties中的会议

代码语言:javascript
复制
spring.datasource.jndi-name=jdbc/db

这是application-dev.properties

代码语言:javascript
复制
spring.datasource.url=jdbc:h2:file:~/db
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver

但是当我刚开始开发配置文件的时候

代码语言:javascript
复制
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上的日志配置,它工作了!但不包括持久化配置的更改。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-24 22:48:43

application-dev.properties的所有属性都会覆盖application.properties中的属性。但是如果在application.properties中的属性没有在开发环境中设置,那么它们也会被包含到上下文中。如果启用了属性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

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42441239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档