当前位置: 首页 > 知识库问答 >
问题:

如何排除默认application.properties添加自定义属性文件使用配置文件在mavenSpring启动项目?

吴俊晤
2023-03-14

我已经开发了一个Web应用程序使用Spring启动。我有三个资源文件夹在src/main/资源分期,qa,生产,其中包括应用程序属性和日志配置的特定环境。随着这些文件夹,我有application.properties和日志配置在资源文件夹中,我用它来开发环境。我想使用spring-boot-maven插件根据环境打包war文件。我是maven新手,任何帮助都将不胜感激?

共有2个答案

贲功
2023-03-14

您可以使用Spring概要文件,而不是使用Maven为每个环境的类路径添加不同的文件夹。

首先,创建不同的应用程序。每个环境的属性,例如:

  • application-staging.properties
  • application-qa.properties
  • application-production.properties

对于日志记录,您可以使用日志记录。配置属性。因此,在应用程序转移中。可以使用的属性:

logging.config=classpath:logback-staging.xml

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

现在只需使用spring运行应用程序。配置文件。活动属性。

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

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

logging.config=file:logback.xml

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

韩寂离
2023-03-14

转换为应用程序{profileName}。属性

第10点和第11点:

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

例如,application-test.properties它覆盖了application.propertiespom.xml中制作配置文件

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

 类似资料:
  • 我的项目的src/main/resources文件夹中有名为:TransactionExpiry.properties的属性文件。 我可以使用@PropertySource(“classpath:/transactionexpiry.properties”)读取代码中的属性 现在,我不想添加应用程序范围,并添加特定于环境的配置文件,如transactionexpiry-dev.properties

  • 我有一个spring Boot2应用程序,有两个属性文件: application.properties application-dev.properties 当我在IntellijIdea中使用dev概要文件运行应用程序时,Spring会读取特定于概要文件的文件和默认文件。

  • 库/.../properties.kt: Library/.../LibraryService.kt: 图书馆/.../Spring。工厂: 我认为重写

  • 1. 预置事件 预置事件是百度统计的基础代码能够获取到的基础事件,如页面浏览、元素点击等。系统为预置事件页面浏览、元素点击、session默认关联了预置属性。 这个功能支持您给页面浏览、元素点击、session添加自定义属性。 适用场景: 标识访问状态:是否为登录用户、是否为试用用户 标识访问来源:查看不同来源媒体的用户行为 标识页面分组:按网页作者分组、按页面标题分组、按网页内容分组 该功能替换

  • 问题内容: 我正在Eclipse中运行Selenium测试,但是无法加载自定义的Firefox配置文件。 大多数消息来源建议我需要像这样启动Selenium Server: 但是,当从Eclipse中启动我的测试时,它不会使用它-如果Selenium Server未运行,则测试将运行。 但是Selenium IDE(Firefox插件)为我生成的代码未使用该构造函数: 我应该在哪里设置Defaul