idea配置多环境启动方式dev、test、prod

 更新时间:2023年09月19日 10:29:25   作者:it1993  
这篇文章主要介绍了idea配置多环境启动方式dev、test、prod,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

应用场景:实际开发过程中,通常包含研发测试正式环境,为了对各环境在实际使用中隔离,maven配置支持对各环境区分启动

使用例子

一、pom添加以下内容

在pom文件<project>标签下添加如下内容

<!--配置环境的profile-->
    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <!--使用${environment}获取值-->
                <environment>dev</environment>
            </properties>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <environment>test</environment>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <environment>prod</environment>
            </properties>
        </profile>
    </profiles>
<build>
        <!--suppress UnresolvedMavenProperty -->
        <finalName>hhInterface-xxl-${environment}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <!--排除环境配置文件-->
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>application-*.yml</exclude>
                    <exclude>application.yml</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <!-- 打包时包含的文件 -->
                <includes>
                    <!--suppress UnresolvedMavenProperty -->
                    <include>application-${environment}.yml</include>
                    <include>application.yml</include>
                </includes>
            </resource>
        </resources>
    </build>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
        </pluginRepository>
    </pluginRepositories>

application-dev.yml增加如下配置, application-prod.yml  active则为prod

spring:
  profiles:
    active: dev

对上面内容解析:首先添加profiles,设置启动或打包时的环境类型,设置后右侧会出现profile下面的内容,

如下图

build下设置项目打包时文件名,设置包含或不包含的配置文件

二、分别以dev和prod启动项目

设置dev启动方式如下图,启动后访问Controller,输出了dev配置文件的内容

设置prod启动方式如下图,启动后访问Controller,输出了prod配置文件的内容

注意:一次只能选一个环境,不然默认是第一次选定的环境

三、以jar启动

配置maven打包,输入如下内容

clean package -D maven.test.skip=true -P dev

打开jar包,查看只有application-dev.yml和application.yml,说明命令生效了

注意:也可以点击右侧package打包,profiles选择对应环境即可

可以看到打的包自带dev后缀

启动项目,命令如下

java -jar hhInterface-xxl-dev.jar --spring.profiles.active=dev

访问controller,打出日志

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL中drop、truncate和delete的区别小结

    MySQL中drop、truncate和delete的区别小结

    在MySQL数据库管理中,常常需要执行删除数据的操作,本文主要介绍了MySQL中drop、truncate和delete的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

    JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JC

    这篇文章主要介绍了JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架的相关资料,需要的朋友可以参考下
    2016-12-12
  • MyBatis框架零基础快速入门案例详解

    MyBatis框架零基础快速入门案例详解

    MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架
    2022-04-04
  • JVM内置函数Intrinsics介绍

    JVM内置函数Intrinsics介绍

    这篇文章主要介绍了JVM内置函数Intrinsics,我们将学习什么是intrinsics(内部/内置函数),以及它们如何在Java和其他基于JVM的语言中工作,需要的朋友可以参考一下
    2022-02-02
  • SpringBoot docker项目部署实战

    SpringBoot docker项目部署实战

    本文主要介绍了SpringBoot docker项目部署实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • 使用springboot logback动态获取application的配置项

    使用springboot logback动态获取application的配置项

    这篇文章主要介绍了使用springboot logback动态获取application的配置项,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java 认识异常并掌握使用

    Java 认识异常并掌握使用

    所谓异常是指程序在运行时出现错误时提示调用者的机制,异常的种类有很多,不同种类的异常有不同的含义,也有不同的处理方式,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • 浅谈Java的LinkedHashSet源码

    浅谈Java的LinkedHashSet源码

    这篇文章主要介绍了浅谈Java的LinkedHashSet源码,底层是链表实现的,是set集合中唯一一个能保证怎么存就怎么取的集合对象
    因为是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样,需要的朋友可以参考下
    2023-09-09
  • Java中ASCII字符转十进制数值的实践指南

    Java中ASCII字符转十进制数值的实践指南

    在 Java 开发中,将 ASCII 字符转换为其十进制数值表示,是一项看似简单却蕴含深层计算机科学原理的基础操作,本文将从 ASCII 编码的本质出发,结合 Java 平台的特性,系统探讨这一转换的核心机制、应用场景、设计考量与工程实践,需要的朋友可以参考下
    2026-05-05
  • http调用controller方法时openfeign执行流程

    http调用controller方法时openfeign执行流程

    这篇文章主要为大家介绍了http调用controller方法时openfeign执行流程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07

最新评论