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

如何通过命令行将参数传递给maven设置。xml?

邬宜然
2023-03-14

我需要根据Spring Boot Maven应用程序中的环境细节激活配置文件。我在设置中配置了配置文件。xml

    <profiles>
        <profile>
            <id>dev</id>
        <activation>
                <activeByDefault>false</activeByDefault> </activation>
            <repositories>
                <repository>
                    <id>devRepo</id>
                    <url>https://customRepo/maven/v1</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>

        </profile>
        <profile>
            <id>qa</id>
        <activation>
                <activeByDefault>false</activeByDefault> </activation>
            <repositories>
                <repository>
                    <id>qaRepo</id>
                    <url>https://customRepo2/maven/v1</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
        </profile>

    </profiles>

我尝试通过激活配置文件使用命令-Pdev

mvn spring-boot:run -s settings.xml -D"spring-boot.run.profiles"=dev help:active-profiles

但是配置文件没有正确激活。但是它是通过添加activeprofile标签来工作的。

    <activeProfiles>
        <activeProfile>dev</activeProfile>
    </activeProfiles>

但是我需要激活特定环境的配置文件

    <activeProfiles>
        <activeProfile>$env</activeProfile>
    </activeProfiles>

我们可以通过任何方式将参数传递给设置中的activeProfile。xml文件?类似于此-Denv

参考:

如何从命令行激活配置文件?

通过Maven在SpringBoot中配置活动配置文件

https://mkyong.com/maven/maven-profiles-example/

http://maven.apache.org/settings.html

共有1个答案

章翔宇
2023-03-14

注意这一行描述:“当满足所有指定的标准时,激活会发生,尽管不是一次都需要。”从http://maven.apache.org/settings.html在个人资料部分,考虑在项目中定义application.properties,并添加一行这个配置:spring.profiles.active=@spring.profiles.active@我希望这个工作。

 类似资料:
  • 在通过Maven运行时,我需要传递给Karate的附加设置可以在karate-config.js中获得。目前,我可以使用karate.env属性传入一个字符串--是否需要将参数编码为JSON对象并通过这个属性传入,或者我可以做如下操作: 我肯定我错过了一些明显的东西...

  • 我在Eclipse中工作。 我的Maven程序有一个pom。带有exec插件的xml文件: 我试图传递一个参数,但仍然出现错误: 未知的生命周期阶段“..\src\test\resources\file.txt”。您必须以以下格式指定有效的生命周期阶段或目标:或:[:]。可用的生命周期阶段包括:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流

  • 我使用atom-run(https://github.com/lsegal/atom-runner)运行内联我的nodejs程序。 使用此插件时,是否可以传递命令行参数?点击Alt R启动节点,但由于我的脚本需要参数,它失败了。 在运行之前,如何传递命令行参数?

  • 要启动Java程序,我可以传递如下参数: 在gradle命令行中有哪些好的方法可以做到这一点: 这是正在建造的。格雷德尔:

  • 问题内容: 我有以下问题。我想从命令行运行一个文件。接受参数。 如何从命令行执行此操作? 我试图找到一个例子,但没有成功。有人可以帮我举一个例子吗? 我看了这里,但不太明白该怎么办。 另外, 如何从与Main.java文件夹不同的文件夹中执行该命令? 例如位于。我应该放什么 问题答案: 您可以运行:。 这会将参数 arg1 传递给您的程序。 您应该指定完全合格的主类,例如,在包测试中的Main.j

  • 问题内容: 我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动。我不确定如何在JavaScript中访问参数。我正在像这样运行节点: 这是我的服务器代码。Node.js帮助说这是可能的: 如何在JavaScript中访问这些参数?不知何故我无法在网上找到此信息。 问题答案: 参数存储在 以下是有关处理命令行参数的节点文档: 是一个包含命令行参数的数组。第一个元素是’node’