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读取不同配置文件

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java面试题

    Java面试题Java面试题

  • scrollLeft,scrollWidth,clientWidth,offsetWidth

    scrollLeft,scrollWidth,clientWidth,offsetWidthhttp://wenku.baidu.com/view/c1250d46b307e87101f6960d.htmlHTML:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解(转)————————————————vars=””;s+=”网页可见区域宽

  • 什么是面向切面编程_简述面向切面编程思想

    什么是面向切面编程_简述面向切面编程思想学习完面向对象编程和面向接口编程,下一步就是面向切面编程,快来mark!

    2022年10月21日
  • docker 开放 2375端口

    docker 开放 2375端口背景:centos7.8vi/usr/lib/systemd/system/docker.service修改[Service]的ExecStart,增加-Htcp://0.0.0.0:2375[Service]Type=notify#thedefaultisnottousesystemdforcgroupsbecausethedelegateissuesstill#existsandsystemdcurrentlydoesnotsupport

  • Java线程池详解「建议收藏」

    Java线程池详解「建议收藏」文章目录简介什么是线程池银行营业厅案例执行流程创建方式所有创建方式通过ThreadPoolExecutor创建简介什么是线程池线程池(ThreadPool)是一种基于池化思想管理和使用线程的机制。它是将多个线程预先存储在一个“池子”内,当有任务出现时可以避免重新创建和销毁线程所带来性能开销,只需要从“池子”内取出相应的线程执行对应的任务即可。常见的运用池化思想的有:内存池、数据库连接池。使用线程的优点如下:提高线程的利用率提高程序的相应速度便于统一管理线程对象银行营业厅案例假设银行正常可

  • CPU测试_性能测试cpu温度多少范围正常

    CPU测试_性能测试cpu温度多少范围正常目录一系统性能测试指标1.1响应时间1.2并发1.3点击量/点击率1.4吞吐量/吞吐率1.5TPS/QPS1.6PV/UV二Linux服务器性能指标2.1CPU使用率2.2内存占用率2.3系统平均负载2.4磁盘IO2.5linux常用性能命令2.5.1CPU2.5.2内存2.5.3负载2.5.4磁盘2.5.5整体性能测试指标是衡量系统性能的评价标准,常用的系统性能测试指标包括:响应时间…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

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