0

我已经使用 Spring Boot 开发了一个 Web 应用程序。我在 src/main/resources staging、qa、production 中有三个资源文件夹,其中包含特定环境的应用程序属性和日志记录配置。除了这些文件夹,我在资源文件夹中还有 application.properties 和日志记录配置,我将其用于开发环境。我想使用spring-boot-maven插件根据环境打包war文件。我是 Maven 的新手,任何帮助将不胜感激?

4

2 回答 2

2

对流是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 Make 配置文件pom.xml

简介: http ://maven.apache.org/guides/introduction/introduction-to-profiles.html

于 2016-08-16T08:36:44.090 回答
1

您可以使用 Spring 配置文件,而不是使用 Maven 将不同的文件夹添加到每个环境的类路径中。

首先为每个环境创建不同的application.properties,例如:

  • 应用程序-staging.properties
  • 应用程序-qa.properties
  • 应用程序生产属性

对于日志记录,您可以使用该logging.config属性。因此,在application-staging.properties中,您可以使用:

logging.config=classpath:logback-staging.xml

在其他属性文件中,您可以使用不同的logging.config属性。

现在只需使用该spring.profiles.active属性运行您的应用程序。


但是,更简单的解决方案是使用externalized configuration。不必在每次想要更改特定配置文件的配置时都重新构建,而是可以通过将application.properties文件放在正确环境中的 JAR/WAR 旁边而不是放在类路径中来将其外部化。Spring Boot 会自动选择它。

现在,您还可以通过在 JAR/WAR 旁边放置一个 logback.xml(或 log4j2.xml,...)文件来外部化您的日志记录配置,并且只需使用以下命令配置您的(外部化)应用程序属性:

logging.config=file:logback.xml

这允许您编辑您的配置和日志记录,而无需更改您的 JAR/WAR。

于 2016-08-16T10:37:04.283 回答