时间:2023-01-23 08:24:27 | 栏目:JAVA代码 | 点击:次
springboot(当然别的也可以)多环境切换需要修改配置文件硬编码,打包时不够方便。
配置文件能读取pom文件中的配置,根据命令选择不同配置注入springboot的配置文件中
pom配置文件:
<!-- 环境 --> <profiles> <!-- 开发 --> <profile> <id>dev</id> <activation> <!--默认激活配置,maven打包默认选用的配置--> <activeByDefault>true</activeByDefault> </activation> <properties> <!--当前环境自定义配置,标签名自定义--> <profile.name>dev</profile.name> <profile.baseUrl>http://localhost:5501</profile.baseUrl> </properties> </profile> <!-- 测试 --> <profile> <id>test</id> <properties> <!--当前环境--> <profile.name>test</profile.name> <profile.baseUrl>http://test.xxxx.com/xxx</profile.baseUrl> </properties> </profile> <!-- 生产 --> <profile> <id>prd</id> <properties> <!--当前环境,生产环境为空--> <profile.name>prd</profile.name> <profile.baseUrl>http://api.xxx.cn/xxx</profile.baseUrl> </properties> </profile> </profiles>
当然,别的配置项也能这样写,这样写的好处是只需修改一处别的不用修改
mvn clean package -Ptest 这样就能打成测试环境的包了
1、groupId、artifactId、version是依赖的基本坐标,缺一不可,其它两个坐标元素不指定时将采用默认值
type
:依赖的类型,对应坐标packaging,默认为jaroptional
:标记依赖是否可选,A->B->C,那么当A依赖于C时就可以设为可选。exclusions
:排除传递依赖compile
:编译范围,默认scope,在classpath中存在provided
:已提供范围,比如容器提供Servlet APIruntime
:运行时范围,编译不需要,接口与实现分离test
:测试范围,单元测试环境需要system
:系统范围,自定义构件,指定systemPathimport
:导入依赖