maven配置profile,按指定环境打包

日常开发中,经常会处理开发环境、测试环境、生产环境的配置文件,一旦项目大了之后各种配置文件太多,每次修改配置文件切换各种环境时容易遗漏,解决方案可以使用maven配置profile来实现,修改pom.xml如下:

1、新增profiles,与build同级

 <profiles>
        <profile>
            <!-- 测试环境 -->
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 本地开发环境 -->
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
        </profile>
</profiles>

2、指定resource

    <build>
        <!-- 打包后的名字(test.war) -->
        <finalName>test</finalName>
        <resources>
            <!-- 打包时要把mapper.xml也打进去! -->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                  <!-- 资源根目录排除各环境的配置,使用单独的资源目录来指定 -->
                <excludes>
                    <exclude>test/*</exclude>
                    <exclude>dev/*</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources/${profiles.active}</directory>
               </resource>
        </resources>

    </build>

然后在项目的resource文件夹下新建test、dev,分别放测试环境、开发环境的配置文件,

打包的时候使用指定环境命令接口,mvn package -Ptest或者mvn package -Pdev,注意:打包之前一定要mvn clean 。

时间: 2024-11-09 18:53:52

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实现多环境打包

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

IDEA开发环境MAVEN项目中使用profile来指定环境所遇到的问题

有时候我们会在web.xml中传递参数时指定环境,但这样可能会遇到一些问题,web.xml配置文件如下图所示 可以看到在这里使用了${profiles.activation},这样做本身是没有问题的,当我们使用maven打包时,会按照我们指定的环境对其进行替换,比如替换为dev. 因此我们可以直接用tomcat7:deploy来远程部署项目,用tomcat7:redeploy来重新部署项目,因为它们本质上都是先将项目打包,然后上传到服务器运行. 可是当我们使用tomcat7:run来启动项目时,

Maven 利用 profile 进行多环境配置

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

Maven插件之portable-config-maven-plugin(不同环境打包)

大型项目中,分开发环境.测试环境.生产环境等; 不同环境,配置不同,或数据源,或服务器,或数据库等; 问题来了,如何使用Maven针对不同的环境来打包呢? Maven提供了Profile的概念,用来解决此类问题,其原理很简单,就是使用变量替换;举个例子来说明,测试项目目录结构如下图所示: 比如开发环境和生产环境的数据库不同,db.properties配置文件内容如下: [html] view plain copy #测试库 db.url=192.10.2.168 db.username=dbte

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

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

Maven 如何为不同的环境打包 —— 开发、测试和生产环境

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

maven项目之Profile---不同环境打包不同配置

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

Maven配置SpringMVC4+Spring4+Hibernate4环境

一.添加依赖 1.新建maven的web项目后,在pom.xml添加依赖信息,对应的groupId .artifactId修改成自己新建的 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.