Maven通过filtering标签读取变量配置的三种方法

 更新时间:2024年03月28日 11:41:11   作者:懒鸟一枚  
在日常开发中,我们大多都会有开发环境、测试环境、生产环境等,不同环境的参数肯定不一样,本文主要介绍了Maven通过filtering标签读取变量配置的三种方法,感兴趣的可以了解一下

iltering的作用
MAVEN提供了一种过滤机制,这种机制能够在资源文件被复制到目标目录的同时,当filtering = true时替换资源文件中的占位符;当filtering = false时不进行占位符的替换。

本文重点介绍maven filtering标签相关知识。

方式一 读取资源文件读取 pom文件标签属性变量值

<project>
    <name>HelloWorld</name>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

filtering:开启过滤,用指定的参数替换directory下的文件中的参数(eg. ${name})

directory:指定资源文件的位置。

mvn resources:resources :对资源做出处理,先于compile阶段。

然后在src/main/resources下,添加一个文件,比如叫test.txt。test.txt内容如下:

I want to say : ${name}

3.执行 mvn resources:resources 命令,最后会在target/classes下看到test.txt的内容变成了,如下所示:

I want to say : HelloWorld

方式二. 读取资源文件读取 读取 pom文件 properties 变量属性下 标变量值

<project>
    <name>HelloWorld</name>
    <properties>
        <username>Tom</username>
    </properties>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

然后在test.txt,添加一句:

My name is ${username}

再执行上述的步骤3。即可变成: My name is Tom

方式三: 通过 filters 标签 预编译资源文件,进行读取properties文件变量值

<project>
    <filters>
        <filter>src/main/resources/code.properties</filter>
    </filters>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

在src/main/resources下添加文件code.properties

该文件内容如下:

username1=tom1
password=123

然后test.txt,添加如:${username1} ${password} 执行步骤3,也会得到同样的效果。

到此这篇关于Maven通过filtering标签读取变量配置的三种方法的文章就介绍到这了,更多相关Maven filtering读取变量配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring WebFlux 核心作用

    Spring WebFlux 核心作用

    Spring WebFlux是Spring Framework 5的响应式框架,结合性能优化与最佳实践,构建高效、可扩展的Web应用,本节将深入探讨 WebFlux 的核心功能,包括 REST API 构建、响应式数据库访问和实时通信,感兴趣的朋友一起看看吧
    2025-08-08
  • Java Map.values()方法之如何获取Map集合中的所有键值对象

    Java Map.values()方法之如何获取Map集合中的所有键值对象

    这篇文章主要介绍了Java Map.values()方法之如何获取Map集合中的所有键值对象问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Springboot 读取 yml 配置文件里的参数值

    Springboot 读取 yml 配置文件里的参数值

    本文主要介绍了Springboot 读取 yml 配置文件里的参数值,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 如何利用Java在图片上添加文字水印效果

    如何利用Java在图片上添加文字水印效果

    最近发现经常被别的网站盗用,而且不注明出处,因此不得不加上水印,这篇文章主要给大家介绍了关于如何利用Java在图片上添加文字水印效果的相关资料,需要的朋友可以参考下
    2022-01-01
  • 用Java制作用户登录界面超详细图文教程

    用Java制作用户登录界面超详细图文教程

    很多人学习Java的第一个任务是使用Java设计客户端登录界面中,希望我的学习方法与总结能帮助到需要的朋友,这篇文章主要给大家介绍了关于用Java制作用户登录界面的相关资料,需要的朋友可以参考下
    2024-06-06
  • SpringBoot继承LogStash实现日志收集的方法示例

    SpringBoot继承LogStash实现日志收集的方法示例

    这篇文章主要介绍了SpringBoot继承LogStash实现日志收集的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 使用ByteArrayOutputStream实现将数据写入本地文件

    使用ByteArrayOutputStream实现将数据写入本地文件

    这篇文章主要介绍了使用ByteArrayOutputStream实现将数据写入本地文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • idea误删libraries重载的解决方案

    idea误删libraries重载的解决方案

    本文分享了作者个人在重载Maven项目时遇到的问题及解决方法,希望能帮助到有类似问题的读者
    2025-12-12
  • SpringBoot依赖注入的三种方式

    SpringBoot依赖注入的三种方式

    本文将通过代码示例详细介绍SpringBoot依赖注入的三种方式,对学习依赖注入有一定的参考价值,需要的朋友可以参考一下
    2023-04-04
  • 适用于Java程序员的10道XML面试题 新鲜出炉

    适用于Java程序员的10道XML面试题 新鲜出炉

    这篇文章主要为大家详细介绍了Java程序员的10道XML面试题,感兴趣的小伙伴们可以参考一下
    2016-07-07

最新评论