文档章节

Spring Boot war 包

JeromeZhu
 JeromeZhu
发布于 2018/12/28 14:40
字数 579
阅读 38
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

使用Spring Boot开发的项目部署前,有时候会选择打成war包,不使用jar包的方式。而且我也发现了很多关于项目打war包的文章,但是在我学习Spring Boot 的时候看到了官方的Demo关于web-jspSpring Boot#spring-boot-samples/spring-boot-sample-web-jsp配置的pom.xml非常的简洁,引发了我的尝试。

演示环境

  • JDK 1.8
  • Spring Boot 2.0.6.RELEASE
  • Maven 3.5.4
  • IntelliJ IDEA 2018.2.1 (Community Edition)

对项目进行配置

修改pom.xml文件

要想把项目打成war包肯定少不了对pom.xmlpackaging的修改。

<packaging>war</packaging>

然后接着添加tomcat的依赖,然后设置scope

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>

修改启动类

项目原有的启动类需要继承SpringBootServletInitializer重写里面的configure方法。

package xin.jerome.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(DemoApplication.class);
	}

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

到这里我们已经对我们的项目已经修改完成了。

打包、部署和测试

打包和部署

打包使用Maven命令mvn clean package就会在项目的target目录下生成对应的xxx.war文件,然后直接将war文件放到tomcat里面运行就可以了。

打包并运行war文件的方式有很多,这里就不多阐述。

测试(调试)

根据上面的所述的步骤,我们已经能够轻松的将一个Spring Boot项目打成war并且部署到tomcat里面。但是经过这样配置后,在开发调试的时候并不是很方便。这时我们只需要把tomcat依赖的<scope>provided</scope>这段代码给注释掉,重新导入依赖即可。就可以直接在IntelliJ IDEA里面运行调试了。

总结

经过上面的一番操作后,会使我们对Spring Boot的开发更加顺手。正所谓处处留心皆学问,我也希望自己在这条路上走得更远。

原文链接:Spring Boot打成war包

JeromeZhu
粉丝 0
博文 12
码字总数 17641
作品 0
苏州
程序员
私信 提问
加载中
请先登录后再评论。
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
7
高效 Java Web 开发框架--JessMA

JessMA 是功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate、MyBatis 与 JDBC DAO 组件),集成了 Action 拦截...

伤神小怪兽
2012/11/13
9.2K
3
解析apk安装包的工具--apkutil

apkUtil是一个用来解析apk安装包的工具,通过它可以获取一个安装包的图标、程序名、所需android平台,权限等信息,并将其转换为java对象。该工具依赖于aapt工具,目前仅支持在windows平台上运...

貌似掉线
2012/11/18
5K
0
eternal mvc 框架--eternal

spring在设计上真博大精深啊,无论从哪点来说,都非常不错,当然啦大家一直说他的配置麻烦,这应该是人家的设计思想吧,把每个类都看成一个bean,以xml的方式配置关系,就像java的面向对象,...

青青小树
2013/01/09
1.3K
0
复杂网络处理包--igraph

igraph是免费的复杂网络(graphs)处理包,可以处理百万级节点的网络(取决于机器内存)。igraph提供了R和C语言程序包,以及Python和Ruby语言扩展,它包括的功能包括: 网络可视化 传统图论算...

匿名
2013/04/20
6.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

Trends期刊8月中国论文合辑

作为Cell Press细胞出版社旗下的权威综述月刊,Trends系列旨在为科学家们提供具有权威性且易于理解的科研趋势。其16本Trends期刊涵盖生命科学和化学的不同领域。 为了让大家对于Trends期刊有...

科研菌
昨天
11
0
C语言哈希表uthash的使用方法详解(附下载链接)

工科生一枚,热衷于底层技术开发,有强烈的好奇心,感兴趣内容包括单片机,嵌入式Linux,Uboot等,欢迎学习交流! 爱好跑步,打篮球,睡觉。 欢迎加我QQ1500836631(备注CSDN),一起学习交流...

osc_h7zc4umy
30分钟前
13
0
CGB2004-京淘项目Day08

1.实现图片回显 1.1准备虚拟路径 1.1.1 编辑image.properties 说明:在jt-manager中创建image.properties文件,在其中编辑关于图片配置的所有信息. 1.1.2 编辑FileServiceImpl 说明:实现虚拟路...

osc_gp8avabl
31分钟前
18
0
C++核心准则​E.28:避免基于全局状态的错误处理(例如errno)

蜀葵 E.28: Avoid error handling based on global state (e.g. errno) E.28:避免基于全局状态的错误处理(例如errno) Reason(原因) Global state is hard to manage and it is easy to for......

面向对象思考
今天
16
0
网易2020校招笔试- 大数据开发工程师(正式批)

目录 一、翻倍 方法一:暴力 方法二:递归 二、跳柱子 方法一:暴力,寻找能到达的最高柱子,方便我下次跳 方法二:动态规划dp 三、人数统计 方法:哈希表 四、积木 方法 如果你从本文中学习...

osc_8kei32r9
33分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部