美文网首页知识点
maven 本地环境、开发环境 、测试环境、生产环境打包

maven 本地环境、开发环境 、测试环境、生产环境打包

作者: 同学汇俱乐部 | 来源:发表于2018-08-16 17:20 被阅读216次

在平常开发的过程中,我们的项目配置文件经常有有几套分别对应自己本地的环境、开发环境、测试环境、以及生产环境。因为在不同的环境中项目的相关配置也会有相关的不同,我们在不同的环境中部署就要手动修改为对应环境的配置,这样太麻烦了以及这样也会很容易出错。
目前JAVA相关的项目基本都是使用Maven来进行构建。在maven中实现多环境的构建可移植性需要使用profile,通过不同的环境激活不同的profile来达到构建的可移植性。
接下来我们就通过maven的相关配置来在打包时指定各个环境对应配置文件。

第一步 pom文件中的profile

首先时pom文件中profile配置

<!-- 定义打包环境变量,本地环境,生产环境;测试环境;开发环境 -->
    <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>localhost</id>
            <properties>
                <profiles.active>localhost</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 开发环境 -->
            <id>development</id>
            <properties>
                <profiles.active>development</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 测试环境 -->
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 生产环境 -->
            <id>production</id>
            <properties>
                <profiles.active>production</profiles.active>
            </properties>
        </profile>
    </profiles>

在pom文件中添加以上的配置信息,来区分本地环境,目录、开发环境目录、测试环境目录以及生产环境目录。
其中localhost的节点,我们设置了

<activation>
                <activeByDefault>true</activeByDefault>
            </activation>

这里是设置本地的环境是默认激活的,如果我们在打包时不指定相关的文件,项目就默认指定本地的配置文件了。其中profiles.active表示被激活的profile的配置文件的目录。

第二步 工程目录建立对应目录

因为maven的配置文件一般都是在src/main/resource目录下,所以我们在resource目录下面分别新建localhost、development、test、production这四个文件目录;如下图:


1534410357929.png

pom文件中设置build配置

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 资源根目录排除各环境的配置,防止在生成目录中多余其它目录 -->
                <excludes>
                    <exclude>test/*</exclude>
                    <exclude>localhost/*</exclude>
                    <exclude>production/*</exclude>
                    <exclude>development/*</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources/${profiles.active}</directory>
            </resource>
        </resources>
    </build>

各个环境的配置我们在第二个节点中通过前面在profile中配置的profiles.active属性来指定。即src/main/resources/${profiles.active}。这样在激活指定的profile时,会加载指定目录下的配置文件,如当前激活的是pro profile,那么这个资源目录就是src/main/resources/pro。这样就达到了不同环境加载不同配置的目的。

项目编译

通过在运行maven命令时指定不同的profile即可构建不同环境需要的war包或发布到不同的环境了 。如:

mvn clean package -Pproduction

这样我们就是打包生产环境的配置了。

如果我们是idea开发的话,我们可以不用些命令的方式
我们打开idea的maven窗口。


1534410622835.png

我们这里可以勾选不同的配置环境来打包对应的环境配置文件。

相关文章

  • maven 本地环境、开发环境 、测试环境、生产环境打包

    在平常开发的过程中,我们的项目配置文件经常有有几套分别对应自己本地的环境、开发环境、测试环境、以及生产环境。因为在...

  • Lombok与Maven环境隔离

    Lombok注解 Maven环境隔离 本地开发环境(Local) 开发环境(Dev) 测试环境(Beta) 线上环...

  • vue-cli配置多环境变量

    配置多环境打包 如有开发环境、测试环境、生产环境 1.开发环境,创建.env.development文件 2.测试...

  • VUE项目多环境配置.md

    web项目开发,通常需要有开发环境、测试环境和生产环境,用于配置不同的环境变更,如调用本地接口、测试接口和生产接口...

  • Maven 打包常用命令

    maven command 打包 打包跳过测试 打包指定环境 maven 打包 启动jar指定环境

  • 2019-06-08 docker基本原理概述

    起源 软件部署的时候,我们需要打包发布到 开发环境 测试环境 生产环境。但是我开发环境,测试环境用的是window...

  • Maven多环境配置

    一、什么是Maven多环境配置? ** 在开发的过程中,经常需要面对不同的运行环境(开发环境、测试环境、生产环境、...

  • vue_cli3中axios封装、配置不同开发环境变量

    项目开发中,一般都会有开发环境、测试环境、预生产环境、生产环境等多个环境,所以项目在打包时我们就会调用不同环境的接...

  • Vue项目分环境打包,开发,生产和测试

    在使用vue开发项目的时候,由于开发环境,测试环境和生产环境的请求地址不同所以想在打包的时候分不同环境去打包,上网...

  • vue-cli 3分环境打包

    在vue的项目开发中,往往代码要在本地开发环境、测试环境、预发环境、生产环境等各种环境下执行,各个环境所对应的ap...

网友评论

  • 心扬:适用于传统的java或java web项目,spring-boot已经内置了

本文标题:maven 本地环境、开发环境 、测试环境、生产环境打包

本文链接:https://www.haomeiwen.com/subject/jfpobftx.html