前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何读取到maven中profile设置的参数

如何读取到maven中profile设置的参数

原创
作者头像
半月无霜
发布2024-08-17 16:35:11
2370
发布2024-08-17 16:35:11
举报
文章被收录于专栏:半月无霜

如何读取到maven中profile设置的参数

一、介绍

maven工程中,我们会用到profiles来配置不同环境的不同的参数。

我们下面介绍如何读取到在这里面设置的值

代码语言:javascript
复制
<profiles>
    <profile>
        <id>local</id>
        <properties>
            <host>localhost:2333</host>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>dev</id>
        <properties>
            <host>192.168.10.111:2333</host>
        </properties>
    </profile>
</profiles>

二、使用

比如说,我们有下面两个文件,example.ymlexample.txt

代码语言:javascript
复制
example:
  host: ${host}
代码语言:javascript
复制
请注意,当前host是${host}

在我们使用maven当做我们的包管理构建工具的时候,就可以用到里面的resources标签,来修改我们的文件

只要正确的配置,在构建工程的时候就会修改${}的值,如下进行配置

代码语言:javascript
复制
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/example.yml</include>
                <include>**/example.txt</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

接下来就可以进行构建了,如果是在IDEA中的话,可以在此选择对应的profile

自己命令手动构建的话,请加上-PfrofileId,例如mvn clean package -Pdev

构建完成,我们去target目录中看看,发现在编译完成后,相对应的占位位置的值已经发生了变化

三、最后

如何在**Java**代码中读取?

其实在编译完成后,就可以用@Value读取到值了。具体可以看看我的这篇文章

SpringBoot中读取配置的几种方式 | 半月无霜 (banmoon.top)


如果${}失效的话,请试试@@ example: host: @host@ 这是因为使用了spring-boot-starter-parent作为父项目,里面有个属性改变了这个占位符

我是半月,你我一同共勉!!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何读取到maven中profile设置的参数
    • 一、介绍
      • 二、使用
        • 三、最后
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档