我使用spring boot开发了一个Web应用程序。我在src / main / resources staging,qa,production中有三个资源文件夹,它们由特定环境的应用程序属性和日志记录配置组成。与这些文件夹一起,我在resources文件夹中有application.properties和logging配置,我将它用于开发环境。我想使用spring-boot-maven插件根据环境打包war文件。我是maven的新手,任何帮助都会受到赞赏吗?
答案 0 :(得分:2)
Convetion为application-{profileName}.properties
第10点和第11点:
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
例如application-test.properties
它会覆盖application.properties
在pom.xml
简介简介: http://maven.apache.org/guides/introduction/introduction-to-profiles.html
答案 1 :(得分:1)
您可以使用Spring配置文件,而不是使用Maven为每个环境的类路径添加不同的文件夹。
首先为每个环境创建不同的 application.properties ,例如:
对于日志记录,您可以使用logging.config
属性。因此,在 application-staging.properties 中,您可以使用:
logging.config=classpath:logback-staging.xml
在其他属性文件中,您可以使用不同的logging.config
属性。
现在只需使用spring.profiles.active
属性运行您的应用程序。
但是,更简单的解决方案是使用externalized configuration。您可以通过在正确的环境中将JAR / WAR旁边的 application.properties 文件放在正确的环境中而不是在您的文件上进行外部化,而不是每次都需要更改特定配置文件的配置时进行外部化。类路径。 Spring启动会自动启动它。
现在,您还可以通过在JAR / WAR旁边放置一个logback.xml(或log4j2.xml,...)文件来外部化您的日志记录配置,并使用以下命令配置(外部化)应用程序属性:
logging.config=file:logback.xml
这使您可以编辑配置和日志记录,而无需更改JAR / WAR。