zoukankan      html  css  js  c++  java
  • IDEA结合Maven的profile构建不同开发环境(SpringBoot)

    一、概述

      在开发过程中,我们的项目会存在不同的开发环境,比如开发环境、生产环境、测试环境,而我们的项目在不同的环境中有些配置也是不一样的,比如数据源配置、日志文件配置等,假如我们每次将软件部署到不同的环境时,都需要对相应的配置文件进行修改,来来回回修改,很容易出现少改的地方,而且浪费我们的劳动力。项目用的maven的profile来区别不同的环境配置,我也正好来学习一下。

      本文如有不当,欢迎指正,希望大家留言讨论问题。

    二、数据准备

      数据准备:准备3个数据库、数据库名为test_db、表名都为student,只是数据不同。

    (1)192.168.229.134

      

     (2)192.168.229.133

      

    (3)192.168.229.132

       

    三、应用演示

      在本次演示中,使用IDEA结合maven的profile来实现对数据库的切换以及应用端口的切换。工程结构如图:

     

    (1)父pom文件的profile配置

     <!--配置不同的profile,对应不同的生产环境-->
        <profiles>
            <profile>
                <!--开发-->
                <id>dev</id>
                <activation>
                    <!--默认开发环境-->
                    <activeByDefault>true</activeByDefault>
                </activation>
                <properties>
                    <activatedProperties>dev</activatedProperties>
                </properties>
            </profile>
            <profile>
                <!--生产-->
                <id>pro</id>
                <properties>
                    <activatedProperties>pro</activatedProperties>
                </properties>
            </profile>
            <profile>
                <!--生产-->
                <id>test</id>
                <properties>
                    <activatedProperties>test</activatedProperties>
                </properties>
            </profile>
        </profiles>

    (2)application.properties的配置

    spring.profiles.active=@activatedProperties@  //这里名称与profile中的标签名一致

    (3)application-xxx.properties的配置(3个基本一致,数据库地址和应用上下文根不同)

     (4)测试

      ①默认情况:父pom中已指定默认情况为开发环境,连接192.168.229.132数据,学生名应该为王五,上下文根为/dev-app,启动springboot测试如下:

      

       打开浏览器访问:localhost/dev-app/all?base=1

      

     ②指定测试环境,编辑启动配置添加:-Dspring.profiles.active=test

       

       启动程序,查看控制台日志如下

       

       打开浏览器访问:http://localhost/test-app/all?base=1,连接192.168.229.134数据,学生名应该为张三

      

       ③指定生产环境:-Dspring.profiles.active=test,控制日志如下:

      

       浏览器访问:http://localhost/pro-app/all?base=1

      

    四、总结

       在使用期间,遇到了很多问题,比如如下异常,折腾好几个小时,百度了很久也不知道哪里问题,都怪自己学识太浅,Spring boot启动原理也不太了解,走了很多弯路,在此要特别感谢这个博客帮了我大忙,本来抱着试试看的态度,结果解决了!附上博客链接:https://blog.csdn.net/Colton_Null/article/details/82145467

    (1)异常信息如下:

      

     (2)异常原因

      

     (3)异常解决方案

      

      

  • 相关阅读:
    jQueryEasyUi行编辑打造增删改查
    css样式DEMO
    jqueryEasyui常用代码
    Jquery easyui tree 一些常见操作
    EasyUI项目中的自定义JS
    easyui里弹窗的两种表现形式
    EasyUI扩展方法
    JS-easyui 扩展easyui.datagrid,添加数据loading遮罩效果代码
    Being a Hero (hdu 3251 最小割 好题)
    AWS携手上海嘉定政府推出首个联合孵化器 为创业公司拓展AWS云服务可用资源
  • 原文地址:https://www.cnblogs.com/rmxd/p/11510894.html
Copyright © 2011-2022 走看看