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读取变量配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • idea中java及java web项目的常见问题及解决

    idea中java及java web项目的常见问题及解决

    在IDEA中处理乱码问题主要涉及四个方面:文件编码设置为UTF-8、编辑器默认编码调整、Tomcat运行配置编码设置以及解决cmd中的乱码,此外,详细介绍了在IDEA中创建Web项目的步骤,包括新建Java工程、添加Web框架支持、添加Tomcat依赖库
    2024-09-09
  • Java Big Number操作BigInteger及BigDecimal类详解

    Java Big Number操作BigInteger及BigDecimal类详解

    这篇文章主要为大家介绍了Java Big Number操作BigInteger及BigDecimal类详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Spring实现Quartz自动配置的方法详解

    Spring实现Quartz自动配置的方法详解

    这篇文章主要介绍了Spring实现Quartz自动配置的方法详解,如果想在应用中使用Quartz任务调度功能,可以通过Spring Boot实现Quartz的自动配置,以下介绍如何开启Quartz自动配置,以及Quartz自动配置的实现过程,需要的朋友可以参考下
    2023-11-11
  • springboot服务正常启动之后,访问服务url无响应问题及解决

    springboot服务正常启动之后,访问服务url无响应问题及解决

    这篇文章主要介绍了springboot服务正常启动之后,访问服务url无响应问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Maven工程搭建spring boot+spring mvc+JPA的示例

    Maven工程搭建spring boot+spring mvc+JPA的示例

    本篇文章主要介绍了Maven工程搭建spring boot+spring mvc+JPA的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • MyBatis insert实体如何返回主键

    MyBatis insert实体如何返回主键

    这篇文章主要介绍了MyBatis insert实体如何返回主键,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 详解Spring Security如何在权限中使用通配符

    详解Spring Security如何在权限中使用通配符

    小伙伴们知道,在Shiro中,默认是支持权限通配符的。现在给用户授权的时候,可以一个权限一个权限的配置,也可以直接用通配符。本文将介绍Spring Security如何在权限中使用通配符,需要的可以参考一下
    2022-06-06
  • java对接Modbus协议代码示例

    java对接Modbus协议代码示例

    Modbus是一种串行通信协议,Modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式,这篇文章主要给大家介绍了关于java对接Modbus协议的相关资料,需要的朋友可以参考下
    2024-03-03
  • mybatis-plus实现逻辑删除的示例代码

    mybatis-plus实现逻辑删除的示例代码

    在大多数公司里,都会采用逻辑删除的方式,本文主要介绍了mybatis-plus实现逻辑删除的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Java设计模式以虹猫蓝兔的故事讲解桥接模式

    Java设计模式以虹猫蓝兔的故事讲解桥接模式

    桥接是用于把抽象化与实现化解耦,使二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响
    2022-04-04

最新评论