zoukankan      html  css  js  c++  java
  • maven分别打包开发、生产配置文件

    项目工程针对开发和生产有两套配置,
    开发配置文件目录:
    src/main/resources/
        applicationContext.xml (开发和生产共用)
        dubbo.properties (开发和生产不同)


    生产配置文件目录:
    src/main/profile/product/
        dubbo.properties

    maven中profile配置如下:(其中 basedir 是 maven 的内置变量,是工程根目录的绝对路径)

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profile.dir>${basedir}/src/main/resources</profile.dir>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>product</id>
            <properties>
                <profile.dir>${basedir}/src/main/profile/product</profile.dir>
            </properties>
        </profile>
    </profiles>

    <project>的<build>配置如下:

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
           <!-- 使用excludes标签可以排除文件 -->
    </resource> <resource> <directory>${profile.dir}</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> <filtering>true</filtering> </resource> </resources> </build>

    本来,maven在copy资源文件时,不会覆盖已存在的文件,但是加上<filtering>后,会覆盖文件哦,同时该命令会打开文件。

    <profile>内部也可以添加<build>标签,执行顺序是先profile/build,后project/build。

    project/build属于公共配置,而profile/build属于profile私有配置。

  • 相关阅读:
    深入浅出之正则表达式(二)
    ==和equlas的区别
    温故知新 javascript 正则表达式
    SQL Server高级内容之子查询和表链接
    C语言访问webservice小例子
    jquery菜单伸缩效果
    电影资源下载网站推荐
    百度云使用迅雷下载资源
    字符编码
    7_2 利用 const 引用避免复制
  • 原文地址:https://www.cnblogs.com/allenwas3/p/7654503.html
Copyright © 2011-2022 走看看