使用maven profile 构建不同环境引用不同的值

需要做的配置如下

<profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <filters>
                    <filter>vars/vars.dev.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>sit</id>
            <build>
                <filters>
                    <filter>vars/vars.sit.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>pre</id>
            <build>
                <filters>
                    <filter>vars/vars.pre.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>prod</id>
            <build>
                <filters>
                    <filter>vars/vars.prod.properties</filter>
                </filters>
            </build>
        </profile>
    </profiles>

其中vars所在的目录为

pom文件中一定要有如下的配置 缺一不可

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                    <delimiters>
                        <delimiter>$[*]</delimiter>
                    </delimiters>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>

        <resources>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

尤其要注意 resources标签,只有包含在resources标签里面的配置文件 里面的${key}才会被替换掉,如果不配resources这种配置文件是不会生效的。

更多信息可以参考

http://www.cnblogs.com/wangyang108/p/6030735.html

时间: 2024-08-03 01:12:01

使用maven profile 构建不同环境引用不同的值的相关文章

maven学习利用Profile构建不同环境的部署包

项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local).(开发小组内自测的)开发环境(dev).(提供给测试团队的)测试环境(test).预发布环境(pre).正式生产环境(prod),每种环境都有各自的配置参数,比如:数据库连接.远程调用的ws地址等等.如果每个环境build前手动修改这些参数,显然太不fashion. maven早就考虑到了这些问题,看下面的pom片段: 1 <profiles> 2 <profile> 3 <!-- 本地环境

使用maven profile实现多环境可移植构建

在开发过程中,我们的软件会面对不同的执行环境.比方开发环境.測试环境.生产环境,而我们的软件在不同的环境中.有的配置可能会不一样.比方数据源配置.日志文件配置.以及一些软件执行过程中的基本配置,那每次我们将软件部署到不同的环境时,都须要改动对应的配置文件.这样来回改动,是个很麻烦的事情.有没有一种方法可以让我们不用改动配置就能公布到不同的环境中呢?当然有.这就是接下来要做的事. 当然,这里的前提是使用maven做为构建工具. 使用maven来实现多环境的构建可移植性.须要借助maven提供的pr

Maven利用Profile构建不同环境的部署包

项目开发好以后,通常要在多个环境部署,像我曾经呆过的公司最多达5种环境:本机环境(local).(开发小组内自测的)开发环境(dev).(提供给测试团队的)测试环境(sit).预发布环境(pre).正式生产环境(prod),每种环境都有各自的配置参数,比如:数据库连接.远程调用的ws地址等等.如果每个环境build前手动修改这些参数,显然太不fashion. maven早就考虑到了这些问题,看下面的pom片段: <profiles> <profile> <!-- 本地环境 -

【转】maven profile实现多环境打包

作为一名程序员,在开发的过程中,经常需要面对不同的运行环境(开发环境.测试环境.生产环境.内网环境.外网环境等等),在不同的环境中,相关的配置一般不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置.每次在不同环境部署程序时,都需要修改相应的配置文件,使之完成环境的配置.这么做存在一个比较大的问题:每次修改配置非常麻烦,而且配置错误会产生不可预估的影响,比如,在发布生产环境时用的开发环境的配置还好,但如果在开发环境下用生产环境的数据,将会造成生产数据的污染,导致生产环境崩溃.

maven profile实现多环境打包

快速解决: 项目目录 1.pom文件中添加profile <profiles> <profile> <!-- 本地开发环境 --> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <activation> <activeByDefault>true</activ

maven profile实现多环境配置

每次项目部署上线都需要手动去修改配置文件(比如数据库配置,或者一个自定义的配置)然后才能打包,很麻烦,网上找到 maven profile可以完成这个工作,记录如下: 环境:eclipse + spring mvc + maven 1.直接看图,把数据库的配置单独拿出来放在了resources_env目录下,三个不同环境参数不同, 2,在pom文件中添加配置    这个引用自:http://www.cnblogs.com/raphael5200/p/6677549.html,感谢 <profil

使用maven profile实现多环境配置相关打包

项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,通过maven可以实现按不同环境进行打包部署,命令为: mvn package -P dev 在eclipse中可以右击选项run configuration,输入上述命令. PS:eclipse maven install和maven packege的区别在于前者除了打包到target外,还会install到本地仓库,这样其他引用的工程就可直接使用. 其中"dev"为环境的变量id, 可以自己定义, 我定义的名称为:dev

Maven 利用 profile 进行多环境配置

我们在进行项目的多环境配置时,有很多种方式供我们选择,比如 SpringBoot 自带的 application-dev.yml.maven 的 profile 等.这里介绍的就是如何利用 profile 进行多环境配置. 首先,在 pom.xml 中添加你需要的 profile 配置: <profiles> <!-- 开发环境 默认激活--> <profile> <id>dev</id> <properties> <env&g

项目实现不同环境不同配置文件-maven profile

最近接触的项目都是在很多地方都落地的项目,需要支持不同的环境使用不同的配置文件.一直以来都以为是人工的去写不同的配置文件,手动的去修改运用的配置文件.感觉自己还是太low呀.maven的使用的还停留在基础上.后面看项目才发现maven可以不同环境不同的发布,只需要制定环境参数或者设置就可以,整个工程简单粗暴.觉的非常不错,于是想深入的了解一下.写下此文. 一.maven profile介绍 profile可以让我们定义一系列的配置信息,然后指定其在相应的环境下使用相应的配置文件.这样我们就可以根