Spring cloud 项目配置多环境启动以及打包【手把手】
项目配置文件结构
创建对应的application.yml (dev 开发;prod 生产;test 测试)文件
每个环境的配置大多不会相同,比如test环境和prod环境的服务端口、数据连接、nacos等配置都不会相同!根据所需配置就行。
配置公共的application.yml文件,内容如下
最重要的配置:@profileActive@
,识别多环境的变量
spring:
application:
name: data-warehouse-construction
profiles:
active: @profileActive@
pom.xml中添加profiles和build配置
配置profiles
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
<activeByDefault>true</activeByDefault>
该代码块代表默认启用dev环境配置
配置build方式
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>application-${profileActive}.yml</include>
<include>application.yml</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<!-- <resource>-->
<!-- <directory>src/main/java</directory>-->
<!-- <includes>-->
<!-- <include>**/*.xml</include>-->
<!-- </includes>-->
<!-- <filtering>true</filtering>-->
<!-- </resource>-->
</resources>
该配置是为了根据@profileActive@
配置,打包不同环境的配置文件,大神们应该无需再多解释哈
配置完成之后
如果大神们用的是idea开发,maven update后,可以在左侧看到相应的profiles信息,如下:
至此,所有的配置都已完成。测试成果
测试成果
开发测试生成环境,本地启动,随意切换(nb了这就) 如下,跑dev:
在profiles勾选dev后,mave clean update下,启动:
启动dev成功
如你不信,我再启动一下prod,哈哈 大神们看到这里求个赞哈
打包,以prod环境为例
先走上图123哈,大神们,不然会哇塞;
然后看打包后的jar结构:
最后,大神们最近都很卷,面试很难,但进公司后发现,个个满嘴八股文,写个crud却很吃力,哎,无语了。。。阿门。。。