Spring Boot发布将jar包转为war包。详解编程语言
Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布。使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题。所以,jar包不一定合适适用所有的场景,如war包更合适,你可以尝试转为传统的war包,这样打补丁包可能更方便。
如何配置打war包呢?以下配置以Maven为说明讲解,Gradle的查看类似配置。
1、修改Spring Boot启动类
启动类继承SpringBootServletInitializer类,并覆盖configure方法。
下面是Spring Boot提供的示例代码。
@SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); }
2、修改jar为war包形式
在pom文件中,添加war包配置。
packaging war /packaging
如果不添加,默认为jar包。
3、去除Spring Boot内置Tomcat
修改自带tomcat依赖范围为provided,防止与外部tomcat发生冲突。
dependencies !-- … -- dependency groupId org.springframework.boot /groupId artifactId spring-boot-starter-tomcat /artifactId scope provided /scope /dependency !-- … -- /dependencies
4、添加war包打包插件
如果你用的是继承spring-boot-starter-parent的形式使用Spring Boot,那可以跳过,因为它已经帮你配置好了。如果你使用的依赖spring-boot-dependencies形式,你需要添加以下插件。
plugin groupId org.apache.maven.plugins /groupId artifactId maven-war-plugin /artifactId configuration failOnMissingWebXml false /failOnMissingWebXml /configuration /plugin
failOnMissingWebXml需要开启为false,不然打包会报没有web.xml错误。
如何打war包?打war包方式和打jar包方式一样,没有区别。
jar包转war包有什么影响?
1、application配置文件中的server.xx等关于容器的配置就无效了,改配置需要在外部tomcat中进行。
2、Spring Boot的升级是否需要Tomcat跟着升级?需要观察。
3、打war包比打jar明显要变慢好多。。
暂时还没遇到其他问题,大家对此有什么看法都可以在下方留言。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16270.html
cjavaxml相关文章
- Spring Boot整合RabbitMQ详细教程
- eclipse打包spring boot项目成jar包的问题
- Spring Boot整合MyBatis(保姆级教程)
- spring boot整合jsp的时候访问页面错误日志:Path with "WEB-INF" or "META-INF":
- 聊透Spring bean的生命周期
- 基于Spring Cloud的开源的,可商用分布式的物联网(IOT)平台
- Spring Boot 2.6 正式发布:循环依赖默认禁止、增加SameSite属性...
- Spring Boot的日志管理
- 【Spring专题】「技术原理」从源码角度去深入分析关于Spring的异常处理ExceptionHandler的实现原理
- Spring MVC文件上传
- spring的AOP(五)—-Spring AOP 编程(AspectJ )详解编程语言
- Spring详解(三)——DI依赖注入编程语言
- Spring Boot(十二):spring boot如何测试打包部署详解编程语言
- spring boot项目:java -jar命令 没有主清单属性详解编程语言
- Spring getPassword方法:获取数据库的密码
- Linux中快速解压Jar包的命令实战(linux解压jar包命令)
- 使用Linux运行JAR包的完美指令(linux运行jar包命令)
- Linux环境下如何导入Jar文件(linux导入jar文件)
- 在Linux上运行Jar包:精彩的挑战(linux运行jar)
- Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase
- MS SQL连接JAR:实现相关数据库的操作(mssql 连接jar)
- MySQL最新Jar包:改进性能,加速应用程序开发(mysql 最新jar包)
- Oracle Jar文件丢失解决方案指南(oracle jar丢失)
- Oracle7 Jar开启新时代的程序之门(oracle7 jar)
- java中spring定时任务实现代码