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

2 篇文章 0 订阅
2 篇文章 0 订阅

应用场景:实际开发过程中,通常包含研发测试正式环境,为了对各环境在实际使用中隔离,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,打出日志

  • 12
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
application.yml是Spring Boot项目中的配置文件,用于配置项目的各种参数。通常情况下,我们会在项目的根目录下创建一个名为"application.yml"的文件,并在其中写入项目的配置信息。 在这个文件中,我们可以使用不同的配置块来分别配置不同的环境。例如,我们可以使用"dev"、"test"、"prod"等不同的配置块来分别配置开发、测试和生产环境的参数。 下面是一个示例: ```yaml # 公共配置 server: port: 8080 # 开发环境配置 spring: profiles: active: dev datasource: url: jdbc:mysql://localhost:3306/dev_db username: dev_user password: dev_password # 测试环境配置 --- spring: profiles: test datasource: url: jdbc:mysql://localhost:3306/test_db username: test_user password: test_password # 生产环境配置 --- spring: profiles: prod datasource: url: jdbc:mysql://localhost:3306/prod_db username: prod_user password: prod_password ``` 在上面的配置中,我们首先定义了一个公共配置,即服务器端口号为8080。然后,我们使用三个不同的配置块分别对不同的环境进行配置。在这个例子中,我们使用了Spring Boot中的"spring.profiles.active"属性来指定当前处于哪个环境,例如在开发环境中,我们将其设置为"dev",在测试环境中设置为"test",在生产环境中设置为"prod"。 在不同的配置块中,我们可以根据不同的需求来配置不同的参数,例如数据源的URL、用户名和密码等。当项目启动时,Spring Boot会根据当前的环境来自动加载相应的配置块,并使用其中的参数来初始化项目。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值