Maven根据Profiled读取不同配置文件

Maven根据Profiled读取不同配置文件 前言在日常开发中,我们大多都会有开发环境(dev)、测试环境(test)、生产环境(prod),不同环境的参数肯定不一样,我们需要在打包的时候,不同环境打不同当包,如果手动改,一方面效率低,容易出错,而且每次打包都改动,非常麻烦,所以Maven给我们提供了profile的配置。 正文Mavenresourcesplugin支持明确声明<directory>指定…

大家好,又见面了,我是你们的朋友全栈君。

 

前言

在日常开发中,我们大多都会有开发环境(dev)、测试环境(test)、生产环境(prod),不同环境的参数肯定不一样,我们需要在打包的时候,不同环境打不同当包,如果手动改,一方面效率低,容易出错,而且每次打包都改动,非常麻烦,所以Maven给我们提供了profile的配置。

 

正文

Maven resources plugin支持明确声明<directory>指定的资源目录中哪些资源需要处理,哪些资源可以不被处理。

Maven resource 中的<include>与<exclude>用于包含或排除某一文件目录下的文件是否是工程资源的。若<include>与<exclude>划定的范围存在冲突,则以<exclude>配置为准。多数情况下,使用<include>和<exclude>是为了配合<filtering>实现替换文件中的变量的需要。

 

例如:

在某一个工程中,src/main/resources目录下都是工程的资源文件,并不需要<include>和<exclude>再进行划定。但如果需要对且仅对其中的jdbc.properties和app.properties两个文件进行过滤,则需要借助<include>和<exclude>进行如下的配置:

<properties>
    <profiles.dir>src/profiles</profiles.dir>
    <resources.dir>src/main/resources</resources.dir>
</properties>

<!--environment-->
<profiles>
    <profile>
        <id>dev</id>
        <build>
            <resources>
                <resource>
                    <directory>src/profiles/dev</directory>
                </resource>
            </resources>
        </build>
    </profile>

    <profile>
        <id>test</id>
        <build>
            <resources>
                <resource>
                    <directory>src/profiles/test</directory>
                </resource>
            </resources>
        </build>

    </profile>

    <profile>
        <id>prod</id>
        <build>
            <resources>
                <resource>
                    <directory>src/profiles/prod</directory>
                </resource>
            </resources>
        </build>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>

</profiles>



<build>
    <resources>
        <resource>
            <directory>${basedir}/src/main/resources</directory>
            <includes>
                <include>${profiles.dir}/*.*</include>
                <include>${resources.dir}/*.*</include>
            </includes>
        </resource>
        <resource>
            <directory>${resources.dir}</directory>
            <excludes>
                <exclude>jdbc.properties</exclude>
                <exclude>app.properties</exclude>
            </excludes>
        </resource>
    </resources>
</build>

 

Maven根据Profiled读取不同配置文件

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132482.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于云计算的大数据平台基础设施建设实践

    基于云计算的大数据平台基础设施建设实践大数据平台基础建设当前的趋势是云化与开放,这个平台需要可以提供各类大数据相关PaaS服务,也需要使各类服务间可以简单灵活的组合来满足多变及定制的需求。如何在云上提供弹性、敏捷,却不失稳定和高性能的大数据平台?如何高效的利用云计算的特点来开发大数据平台?本期青云QingCloud系统工程师周小四给大家带来基于云计算的大数据平台基础设施建设以及其架构特点的主题分享。以下是分享原文。——————大…

    2022年5月16日
    42
  • 配置pycharm的python路径_linux多路径详细配置

    配置pycharm的python路径_linux多路径详细配置EditCustomVMOptions的路径pwd:/Users/用户名/Library/ApplicationSupport/JetBrainsll:drwxr-xr-x10userstaff320BJan1910:42GoLand2021.3drwxr-xr-x15userstaff480BJan112021PyCharm2020.2drwxr-xr-x15userstaff480BApr302021…

    2022年8月27日
    10
  • I2C电平转换电路_双向电平转换电路工作原理

    I2C电平转换电路_双向电平转换电路工作原理本文分享下I2C双向电平转换电路的设计原理,以及需要注意的事项。在I2C主从设备对接时,需要考虑主从设备的电平情况,常规的主要有3种:5V,3.3V,1.8V。如果电平相同,比如都是3.3V,那么可以直接对接。如果电平不同,一个高电平是3.3V,另外一个是1.8V,那么就需要接入其它的器件来做一下电平转换,通常是接入NMOS管。如上图,此图来源于I2C官方协议,协议标准文件里…

    2022年8月10日
    7
  • snmptrap 命令解析「建议收藏」

    snmptrap 命令解析「建议收藏」example:#snmptrap-v2c-cpublic10.10.12.219″aaa”1.3.6.1.4.1.2345SNMPv2-MIB::sysLocation.0s”justhere” snmptrap命令-v2cSnmp协议版本-cpublic共同体10.10.12.

    2022年8月20日
    6
  • java怎么写工业上位机软件_上位机软件类编写心得

    java怎么写工业上位机软件_上位机软件类编写心得usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO.Ports;usingSystem.IO;usingSystem.Xml;namespacelesson{publicpartialclassSComA…

    2022年5月31日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号