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

使用maven构建时选择spring配置文件

司寇书
2023-03-14

我试图为我的生产环境创建一个构建版本。在我的SpringWeb应用程序中,我有4个.yml文件

  1. 应用程序.yml
  2. application-development.yml
  3. application-staging.yml
  4. application-production.yml

在应用中。yml文件,我指定

spring:
  profiles:
    active: production

我使用maven创建一个构建的命令是

mvn clean install tomcat7:deploy -B -Pproduction

在我的目标文件夹中,我可以看到所有属性和我的生产设置没有出现。

我得到的是我的默认application.yml属性。如何正确构建?

共有1个答案

危飞跃
2023-03-14

在application.yml中,添加如下内容:

spring:
  profiles:
    active: @active-profiles@

然后尝试:

mvn clean install tomcat7:deploy -B -P production

在 pom.xml(maven 配置文件在 mvn 命令期间传递 - 生产配置文件,它通过 spring-boot-starter-parent 中内置的 spring-boot-maven-plugin 找到属性并替换 application.yaml 中的属性)

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.2.RELEASE</version>
    <relativePath />
</parent>
.
.//Dependencies go here
.
<profiles>
        <profile>
            <id>production</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <active-profiles>production</active-profiles>
            </properties>
        </profile>
   </profiles>

更多信息请点击此处:

https://docs . spring . io/spring-boot/docs/current/reference/html/how to-properties-and-configuration . html

http://dolszewski.com/spring/spring-boot-properties-per-maven-profile/

Maven资源过滤不起作用-因为Spring引导依赖

 类似资料:
  • 你怎能一口吃头大象呢?有时你会遇到这种情况,想要从被不同类管理的各种片段构建单一的配置文件。 例如,你可能有两到三个服务需要 rsync 模块配置,因此你不能只发布单一的配置文件 rsyncd.conf。 尽管你可以使用 Augeas,但是一种更简单的方法就是使用 exec 资源将若干配置片段串接成一个文件。 操作步骤 使用如下代码创建 /etc/puppet/modules/admin/mani

  • 问题内容: 我正在尝试根据某个Maven配置文件是否处于活动状态来使用数据库信息配置Spring配置文件。我已经看到了一些答案,但是很难将它们放在一起。 我有一个这样的Maven个人资料: 还有一个settings.xml文件,如下所示: 并在servlet-context.xml中: 我的问题基本上是,如何将Maven属性放入servlet- context.xml文件中?我需要一个.prope

  • 我如何告诉Jenkins使用系统安装的Maven? 为什么它要求MAVEN_HOME而不是m2_home?为什么它不显示当前的系统Maven?当构建运行时,它会给出一个BS错误: 解析POM错误:未能解析POM org.apache.maven.project.project.projectBuildingException:在处理POM时遇到一些问题:[FATAL]不可解决的父POM:未能在ht

  • 问题内容: 我有一个使用maven作为构建工具的应用程序。 我正在使用Maven配置文件从不同的配置文件设置不同的属性。 我想做的是将maven中的所有活动配置文件也移植到spring活动配置文件中,以便我可以在bean签名()中引用它们。但我不确定该怎么做。 例如:考虑以下Maven设置 假设我在未指定任何其他配置文件的情况下运行maven,而我希望spring具有和 配置为活动配置文件。 问题

  • 我正在尝试解决我的配置文件问题。 我有这个结构的Spring MVC应用程序(我当前的结构) (这是相当标准的maven项目目录结构) 所以,我的问题是:< b >我应该把spring配置文件放到resources目录中吗?我不确定它们是否可以被视为资源文件。大多数spring项目都在WEB-INF/目录中有配置。但是单元测试有一个问题,因为当我需要加载servlet配置时,maven需要/tes

  • null 在这里,当作为spring boot应用程序运行时,我能够指定所需的配置文件。以同样的方式,当我需要使用MAVEN安装与不同的配置文件。在Maven安装目标的Run Configuration中,是否有任何方法将profile指定为VM参数列表的一部分。 我有限制,不能接触现有的java代码。 我使用的是STS IDE,Spring boot 1.5.2.发行版,Java1.8和orac