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

maven在过滤中列出活动配置文件

尉迟阳煦
2023-03-14

我正在尝试获取maven中所有活动概要文件的列表,并将其用作资源筛选中的变量。

特别是当我运行类似

mvn package -Pprofile1,profile2

我想在资源筛选中将字符串“profile1,profile2”作为变量公开。

例如,在我的pom中。xml文件我对maven war插件进行了如下配置,以允许对src/main/resources/META-INF目录中的所有内容进行资源筛选,并定义了一些概要文件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
            </manifest>
        </archive>
        <webResources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- Only include the META-INF directory -->
                <includes>
                    <include>META-INF/*</include>
                </includes>
                <!-- replace placeholder values -->
                <filtering>true</filtering>
                    </resource>
                </webResources>
    </configuration>
</plugin>
...
<profiles>
    <profile>
        <id>profile1</id>
        <properties>
            <environment>profile1</environment>
        </properties>
    </profile>
    <profile>
        <id>profile2</id>
        <properties>
            <environment>profile2</environment>
        </properties>
    </profile>

在META-INF目录下,我有一个上下文。xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/platform">
    <Environment name="spring.profiles.active" value="${environment}" type="java.lang.String" />
</Context>

我尝试在每个概要文件下设置属性“environment”,但没有设置结果上下文。xml文件仅使用最后一个“环境”变量(例如value=profile2)。

我还尝试使用了这个:value=${project.active配置文件},但它返回了某种对象列表。如果我可以遍历这个列表并从配置文件中提取id来构建字符串,那就太好了,但是我在maven资源插件中找不到任何留档。

我最终要做的是设置spring。配置文件。活动的变量通过上下文作为环境变量。xml文件,该变量与maven构建概要文件相同。

共有1个答案

屠昌胤
2023-03-14

您可以通过以下方式列出活动配置文件:

mvn help:active-profiles
 类似资料:
  • 问题内容: 我正在尝试使用Maven 3 在Spring Boot应用程序中设置活动配置文件。在我的pom.xml中,将默认的活动配置文件和属性spring.profiles.active设置 为development: 但是每次我运行应用程序时,都会在日志中收到以下消息: 并且将SpringBoot配置文件设置为默认值(读取application.properties而不是application

  • 我有一个用maven作为构建工具的应用程序。 我正在使用maven概要文件从不同的概要文件设置不同的属性。 假设我运行带有out的maven,并指定我希望spring的任何其他概要文件,将和作为活动概要文件。

  • 我正在尝试使用maven配置文件实例化hibernate配置文件。我的配置文件位于下,在pom文件中,我标记了该文件夹以用于资源过滤。有趣的是,我可以从属性文件中加载相同的属性,而hibernate在解析配置文件时抛出异常。这是我正在使用的代码示例。 POM-资源筛选 文件结构 资源hibernate.cfg.xml

  • 如果未设置,我希望默认活动配置文件为。 Spring-boot版本=1.3.5。发行版

  • 我有几个用于Eclipse的文件(我使用的是Eclipse Oxyox),下面是一个示例 请注意,我正在使用变量,以便使其可用于任何项目。 我试图将我为项目启用的概要文件“注入”到通用的启动概要文件配置中,类似于变量,但与当前的Maven概要文件相关。 如果不能这样做,我需要为每个环境创建一个启动配置文件,这意味着每个目标要启动3个文件。 是否有一种方法可以使用/创建一个Eclipse变量,该变量

  • Maven允许根据其运行的操作系统系列激活某些构建概要文件,例如: 这里有很多问题:那么的允许值是多少?它们区分大小写吗?Linux是吗?还是?等等。 我可以在哪里找到关于允许的值的信息-或者,至少,Maven从哪里获取这些值?环境变量?