java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > idea配置多环境启动

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

作者: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,打出日志

总结

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

您可能感兴趣的文章:
阅读全文