簡體   English   中英

SpringBoot:配置生產與開發環境

[英]SpringBoot: Configuration Production Vs Development environments

我對SpringBoot 1.5.1有問題。 我已經為我的開發環境創建了application.propertiesapplication-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=prodspring.profiles.active=dev

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM