一、前言
IDEA
是目前 Java
开发者中使用最多的开发工具,它有着简约的设计风格,强大的集成工具,便利的快捷键。
在项目项目整个开发运维周期中,我们的的项目往往需要根据不同的环境,使用不同的文件配置。
比如以下部分:
默认:
application.properties/yml
共用配置:
application-common.properties/yml
开发环境:
application-dev.properties/yml
生产环境:
application-prod.properties/yml
测试环境:
application-test.properties/yml
在实际使用中通过在application.yml
文件中配置:
spring: profiles: active: dev
或application.properties
文件中配置:
spring.profiles.active=dev
置后Spring Boot
会激活application-${active}.properties/yml
的配置文件。
如此一来每次我们需要切换环境时只需要修改此配置即可。但此方式也明细的不足,比如:每次切换环境时都需要修改此配置,在修改后也存在文件误传Git
的风险,单体项目来说尚可接受,但对于Spring Cloud
微服务项目而言操作就很麻烦了。
二、配置详情
结合IDEA
自带的maven
插件来实现不同配置的切换,每次切换环境只要勾选就行了。
2.1 pom.xml修改
新增以下内容:
<build> <resources> <resource> <directory>src/main/resources</directory> <!-- 指定目录下的文件通过maven过滤器 --> <filtering>true</filtering> </resource> </resources> </build> <profiles> <profile> <id>dev</id> <properties> <!-- 环境标识,需要与配置文件的名称相对应 --> <profile.active>dev</profile.active> <nacos.username>nacos</nacos.username> <nacos.password>nacos</nacos.password> </properties> <activation> <!-- 默认环境 --> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <!-- 环境标识,需要与配置文件的名称相对应 --> <profile.active>test</profile.active> <nacos.username>nacos</nacos.username> <nacos.password>nacos</nacos.password> </properties> </profile> </profiles>
Maven
过滤器会替换文件中的占位符@变量名@
,可以查看编译后的文件,原本的占位符被变量值所替代。
2.2 bootstrap.yml/application.yml修改
spring: profiles: active: @profile.active@
注:占位符 ‘@maven中配置的变量名@’,我的名称为
profile.active
以上是Spring Boot结合IDEA自带Maven插件怎么快速切换profile的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

Dreamweaver Mac版
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver CS6
视觉化网页开发工具