引言: 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做为一个新的开发和组织方式,还是需要一点时间来继续研究的,总体而言,其开发效率还是非常高的。


  

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐