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

Maven概要文件及其在Spring中的应用

唐兴思
2023-03-14

我有一个使用以下命令构建的Spring项目

mvn clean install -Pdevelopment

通过基于maven profile选择适当的属性文件,它工作得非常好

我们当前的应用程序现在更新为application.yml文件和属性文件

Yml文件提供了基于Spring配置文件创建属性的能力

#DEV
spring:
    profiles: profile1
environment:
    property1: AAA
    property2: BBB
---
#PROD
spring:
    profiles: profile2
environment:
    property1: CCC
    property2: DDD
---

这适用于使用-Dspring的Spring外形。简介。活动=配置文件1

有没有办法读取maven配置文件(而不是Spring配置文件)并相应地设置属性?

共有1个答案

杜凯
2023-03-14

由于您不想再使用spring配置文件,因此在应用程序中只需要每个配置文件的一个键。yml。从您的示例中可以看出:

environment:
  property1: @property1@
  property2: @property2@

然后在pom中创建配置文件。xml设置。xml

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <property1>AAA</property1>
            <property2>BBB</property2>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <property1>CCC</property1>
            <property2>DDD</property2>
        </properties>
    </profile>
</profiles>

在我的应用程序类中这样使用:

@Value("${environment.property1}")
private String profileProperty;

@Value("${environment.property2}")
private String settingsProperty;
 类似资料:
  • 我正在尝试将Spring Boot配置文件与Maven配置文件集成,但由于某些原因,总是会选择默认配置文件。 MVN清洁测试-Dspring.profiles.active=产品(工作) 日志: mvn干净测试-prod(不起作用,总是选择默认配置文件) 日志: pom。xml src/测试/资源/应用程序。属性 src/test/resources/application-dev.propert

  • 我将创建一些编译概要文件,如下所示: null null

  • 我有一个Spring Boot应用程序,有两个配置文件:'dev'和'prod'。在'dev'配置文件应该使用H2数据库,在'prod'-PostgreSQL。 它们在pom.xml中定义如下: 另外,对于每个配置文件,我都有两个特定的属性文件: application-dev.properties: 和application-prod.properties(我将应用程序部署到AWS):

  • 我有一个应用程序,希望更改存储在application.yml文件中的数据源密码。YML文件中的密码存储如下: 我还尝试在JAR之外创建一个相同的(除了新密码)application.yml文件。那也不管用。 注意:由于http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-externa

  • 我在Spring boot应用程序中定义了多个配置文件,通常用于不同的场景。 在运行时,我正在寻找一种方法来激活配置文件,而不需要重新启动应用程序。 我知道Spring cloud config提供了一种通过使用actuator/Refreshendpoint重新启动应用程序来外部化配置和重新加载的方法。 我将Spring Cloud Config为应用程序维护的外部化配置中的属性Spring.p

  • 我们的企业团队维护设置。xml文件,该文件定义了开发项目可以与Maven一起使用的各种概要文件,以构建其构件并将其安装到存储库中。我们期望Jenkins中的每个项目都会使用指定的所需概要文件定义一个-P参数。 这是我的问题:我需要使用的配置文件指定了一个通常对我的项目不可见的存储库(分阶段发布存储库),因此如果该配置文件处于活动状态,则无法依赖该存储库中的任何内容。我需要一种方法来激活我项目的文件