Spring Boot的Profile切换方式
引言: Spring Boot是Spring社区基于之前的技术积累,而开发出来的一套快速开发框架,针对不同的profile来如何切换呢?这个和之前的mvn方式有所区别。
引言: Spring Boot是Spring社区基于之前的技术积累,而开发出来的一套快速开发框架,针对不同的profile来如何切换呢?这个和之前的mvn方式有所区别。
1. 基于maven管理的Spring项目的启动和切换方式
>> mvn clean package -P profileName #### mvn clean package -Dprofile=profileName
基于指定的profileName来进行打包,一般profile之间的不同配置信息是放置于pom.xml之中,在打包过程中,实现文件信息和内容的替换。
>> mvn tomcat8:run # mvn tomcat8:deploy, mvn tomcat8:undeploy
基于tomcat8来进行包的部署以及卸载, tomcat服务器的启动
2. 基于Spring Boot来启动项目
>>> mvnw spring-boot:run #启动Spring boot项目
>>> java -jar xxxx.war # 直接启动Spring Boot项目
不过这里的war包需要经过Spring boot的打包方式,并配置特定的依赖包, 在pom.xml中需要配置一下信息:
<packaging>war</packaging>
添加tomcat的支持包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
这些打包出来的文件夹中就出现了一个lib-provided的目录:
大家可以看到,lib-provided中存放的内容,基本上就是tomcat本身的依赖包,其余的还有一些websocket的jar包。
3. 如何在启动Spring boot应用过程中,切换profiles?
>>> java -Dspring.profiles.active=profileName -jar targetfile.war
在启动中,指定需要使用的profile name,直接进行启动
>>> mvnw spring-boot:run -Drun.profiles=profileName,profileName2
使用 spring-boot:run基于maven的来启动
>>> 直接打包没有lib-provided目录的版本,在catalina.properties中指定所需的active profile
echo spring.profiles.active=container >> catalina.properties
说明一下:spring-boot:run后面可以输入的参数和-D的参数不同,这个取决于其maven plugin的支持参数。
详细的参数信息,可以参照地址: http://docs.spring.io/spring-boot/docs/current/maven-plugin/index.html
4. 总结
Spring Boot做为一个新的开发和组织方式,还是需要一点时间来继续研究的,总体而言,其开发效率还是非常高的。
更多推荐
所有评论(0)