zoukankan      html  css  js  c++  java
  • maven之---资源过滤 在java/main/resourse/*.xml ,*.properties引用maven属性${db.username}

    本文主要来源maven实战14.3

    为了应对环境的变化,首先使用Maven属性将这个会发生变化的部分提取出来.在上一节的数据库配置中,连接数据库使用的驱动类,URL,用户名和密码都可能发生变化,因此使用Maven属性取代他们:

    database.jdbc.driverClass=${db.driver}
    database.jdbc.connectionURL=${db.url}
    database.jdbc.username=${db.username}
    database.jdbc.password=${db.password}
    

    z放到src/main/resources/*.properites

    既然使用了Maven属性,就应该在某个地方定义他们.用一个额外的profile将maven属性包裹其中,代码如下


    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <db.driver>com.mysql.jdbc.Driver</db.driver>
                <db.url>jdbc:mysql://192.168.1.100:3306/test</db.url>
                <db.username>dev</db.username>
                <db.passeord>dev-pwd</db.password>
            </properties>
        </profile>
    </profiles>
    

      代码中的Maven属性定义与直接在POM的properties元素下定义并无二致,这里只是使用了一个id为dev的profile,其目的是将开发环境下的配置与其他环境区别开来.关于profile,本章将详细解释

      有了属性定义,配置文件中也使用了这些属性,一切就OK了吗>还不行.要留意的是Maven属性默认只有在POM中才会被解析,也就是说,${db.username}放到POM中会变成test,但是如果放到src/main/resources/目录下的文件中,构建的时候他讲仍然还是${db.usrname}.因此,需要让Maven解析资源文件(resources目录)中的Maven属性.

      资源文件的处理其实是maven-resources-plugin做的事情,它的默认行为只是将项主资源文件复制到主代码编译输出目录中,不过只要通过一些简单的POM配置,该插件就能够解析资源文件中的Maven属性,即开启资源过滤,只要在此基础上添加乙方filtering配置即可,代码如下:


    <resources>
        <resource>
            <directory>${project.basedir}/sr/main/resources<directory>
            <filtering>true</filtering>
        </resource>
    <resources>
    

      目前一切就绪,在POM的profile中定义了这些属性的值,并且为资源目录开启了属性过滤.最后,只要在命令行激活profile,Maven就能在构建项目的时候使用profile中属性值替换数据库配置文件中的属性引用.命令如下

    mvn clean install -Pdev

      

  • 相关阅读:
    如何快速打开Github
    vuecli4 如何创建带有vuerouter vuex scss预编译的项目
    ASP.Net Core WebApi几种版本控制对比
    解决Asp.Net Core 3.1 中无法读取HttpContext.Request.Body的问题
    winrar压缩文件但是排除指定目录
    postgresql数据库下导入导出,删除常用命令
    .NetCore使用Swagger+API多版本控制
    ElementUI和Ant Design对比
    自动登录或7天登录的实现
    浏览器脚本按钮功能
  • 原文地址:https://www.cnblogs.com/zytcomeon/p/14142675.html
Copyright © 2011-2022 走看看