配置SpringBoot方便的切换jar和war的方法示例

这篇文章主要介绍了配置SpringBoot方便的切换jar和war的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

网上关于如何切换,其实说的很明确,本文主要通过profile进行快速切换已实现在不同场合下,用不同的打包方式。

jar到war修改步骤

pom文件修改packaging配置由jar改为war排除tomcat等容器的依赖配置web.xml或者无web.xml打包处理入口类修改添加Servletinitializer特别注意:当改成war包的时候,application.properties配置的server.port和server.servlet.context-path就无效了,遵从war容器的安排。配置pom配置packaging${pom.package}修改build${pom.packageName}org.apache.maven.pluginsmaven-war-plugin3.2.2false排除容器org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-tomcat配置profilejartruejar${project.artifactId}-${project.version}devorg.springframework.bootspring-boot-starter-tomcatwarwar${project.artifactId}linuxorg.springframework.bootspring-boot-starter-tomcatprovidedjavax.servletjavax.servlet-api4.0.1provided修改入口类入口类继承SpringBootServletinitializer重写configure方法使用@Profile注解,当启用war配置的时候,初始化Servlet。public class Application extends SpringBootServletinitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Profile(value = {"war"}) @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } }

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...