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,打出日志
推荐内容
阅读全文
AI总结
更多推荐
相关推荐
查看更多
ai-hedge-fund

AI 对冲基金原理验证项目,多智能体协作模拟交易决策,用于教育目的
fastapi_mcp

一种零配置工具,用于自动将 FastAPI 端点公开为模型上下文协议 (MCP) 工具。
fumadocs

用于在 Next.js 中构建文档网站的框架。
热门开源项目
活动日历
查看更多
直播时间 2025-04-09 14:34:18

樱花限定季|G-Star校园行&华中师范大学专场
直播时间 2025-04-07 14:51:20

樱花限定季|G-Star校园行&华中农业大学专场
直播时间 2025-03-26 14:30:09

开源工业物联实战!
直播时间 2025-03-25 14:30:17

Heygem.ai数字人超4000颗星火燎原!
直播时间 2025-03-13 18:32:35

全栈自研企业级AI平台:Java核心技术×私有化部署实战
所有评论(0)