打war包
使用Spring Boot时通常打的是jar包,如果开发的是Web应用也通常使用内置的Web容器,比如Tomcat。那如果要打war包应该怎么办呢?
1.首先需要把Maven的pom.xml中的package改为war。
<packaging>war</packaging>
2.拿掉spring-boot-maven-plugin
插件,因为我们已经不需要repackage了。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
3.打war时内置的Web容器相关的jar就不再需要了,以免部署到外部容器时产生影响。所以当我们使用内置的Tomcat时,我们需要调整Tomcat的依赖的scope为provided。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
4.调整Java Application启动类使其继承SpringBootServletInitializer,并重写其configure方法,重写时调用入参SpringApplicationBuilder的sources方法,并传递配置类作为参数,比如下面这样。这样在开发的时候可以继续以Java Application的方式运行,部署的时候就打war包部署,打war包部署启动时基于Servlet3的ServletContainerInitializer规范将最终会通过下面的Application类来启动Spring Boot的相关内容。
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
通过以上几步Spring Boot应用就可以打成war包部署到外部Web容器中,运行出来的效果跟打jar包运行的效果是一样的。
(注:本文基于Spring Boot 2.0.3所写)
相关推荐
Spring Boot项目导出war包放到tomcat运行跳转到页面出现404报错
主要介绍了Spring Boot+maven打war包的方法,本文通过实例代码相结合的形式给大家介绍的非常详细,需要的朋友参考下吧
适合初学者spring-boot——web笔记
spring-boot-package-war:spring-boot打包成war包示例 spring-boot-shiro:springboot 整合shiro rbac示例 spring-boot-file-upload:使用Spring Boot 上传文件示例 spring-boot-fastDFS:Spring Boot 整合FastDFS...
主要给大家介绍了关于spring boot项目打包成war在tomcat运行的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节。但是,这丝毫不影响它在任何一个系统中的重要的地位。 为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以...
spring boot整合JPA——demo
Spring boot使用的各种示例,以最简单、最实用为标准 spring-boot-helloWorld:spring-boot的helloWorld...spring-boot-package-war:spring-boot打包成war包示例 spring-boot-shiro:springboot 整合shiro rbac示例
用gradle在搭建spring-boot,实现restful,跳转JSP,打成WAR包发布到项目
Spring boot——@DeclareParents例子...
Spring Boot项目打成jar包后,下载resources目录下文件为空的demo
java毕业设计——基于spring boot的就业信息管理网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的就业信息管理网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的就业信息管理...
Spring boot jar包依赖比较多,再加上一些第三方组件jar包,平均一个工程大概就有100M左右 导致目前发布的产品包,大小为 1G。对于部署升级非常不方便,所以需对微服务中用到的第三方jar包进行抽离,达到减少jar包...
获取Spring Boot 2微框架的可重用代码配方和代码段 了解Spring Boot 2如何与其他Spring API,工具和框架集成 访问Spring MVC和新的Spring Web Sockets,以实现更简单的Web开发 使用微服务进行Web服务开发并与Spring ...
springboot应用打包成war包部署
Beginning Spring Boot 2 Beginning Spring Boot 2 Beginning Spring Boot 2
基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring ...
基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 ...
java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与...
spring boot小例子,直接打包成war包,部署到tomcat下,不过还有点小问题,后面需修改