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)
上一篇 2022年4月30日 下午8:40
下一篇 2022年4月30日 下午8:40


相关推荐

  • wifi 中间人攻击_什么是中间人攻击?该如何防止?

    wifi 中间人攻击_什么是中间人攻击?该如何防止?什么是中间人攻击 在中间人攻击中 攻击者将自己放置在两个设备 通常是 Web 浏览器和 Web 服务器 之间 并拦截或修改两者之间的通信 然后 攻击者可以收集信息并模拟这两个特工中的任何一个 除了网站之外 这些攻击还可以针对电子邮件通信 DNS 查找和公共 WiFi 网络 中间人攻击的典型目标包括 SaaS 业务 电子商务业务和金融应用程序用户 您可以将中间人攻击者想象成一个无赖的邮政工作人员 他坐在邮局里 拦截了

    2026年3月16日
    2
  • layui弹窗icon示例

    layui弹窗icon示例前言 icon 参数为 0 如下代码 layer msg 请选择要编辑的机构 icon 0 1 运行结果如图 icon 参数为 1 如下图 icon 参数为 2 如下图 icon 参数为 3 如下图 icon 参数为 4 如下图

    2026年3月19日
    1
  • 全链路开源+PBR物理渲染!Hunyuan3D-2.1本地部署教程:重新定义工业级3D生成

    全链路开源+PBR物理渲染!Hunyuan3D-2.1本地部署教程:重新定义工业级3D生成

    2026年3月13日
    2
  • c++ 多项式拟合算法

    c++ 多项式拟合算法ifndefCZY MATH FIT defineCZY MATH FIT include vector 多项式拟合 namespaceczy brief 曲线拟合类 classFit std vector double factor double vector

    2026年3月19日
    1
  • 闭包面试题原题_闭包 数学

    闭包面试题原题_闭包 数学闭包面试题原题functionfun(n,o){//①console.log(o);return{//②fun:function(m){//③returnfun(m,n);//④}};}//第一个例子vara=fun(0);/…

    2022年10月21日
    5
  • shuffleNet_shuffer

    shuffleNet_shuffer目录分组卷积分组卷积的矛盾——计算量分组卷积的矛盾——特征通信channelshuffleShuffleNetV1ShuffleNet基本单元ShuffleNet网络结构对比实验ShuffleNetV2设计理念网络结构对比实验分组卷积Groupconvolution是将输入层的不同特征图进行分组,然后采用不同的卷积核再对各个组进行卷积,这样会降低卷积的计算量。因为一般的卷积都是在所有的输入特征图上做卷积,可以说是全通道卷积,这是一种通道密集连.

    2025年10月13日
    5

发表回复

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

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