[英]How to maintain different maven environments for production and development?
[英]SpringBoot: Configuration Production Vs Development environments
我对SpringBoot 1.5.1有问题。 我已经为我的开发环境创建了application.properties
和application-dev.properties
。
主要区别在于持久性:在生产( application.properties
)中有一个JNDI(在Tomcat上配置),在dev中有一个本地数据库(H2)。
这是我在application.properties
配置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.properties
中的属性不是在开发人员中设置的,则它们也将包含在上下文中。 如果启用了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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.