如何将springboot工程打包成war包并且启动
将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即 可访问。
1、pom.xml配置修改
<packaging>jar</packaging>
//修改为
<packaging>war</packaging>
2、pom文件添加如些依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
3、排除springboot内置的tomcat干扰
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
说明:为什么要这样排除,就是springboot工程引入spring-boot-starter-web之后,会内嵌一个tomcat,那我们呢就不用这个内嵌tomcat,而是打包成war包后部署到外部的tomcat上
4、改造启动类
@SpringBootApplication
@MapperScan("com.lagou.springboot_01_demo.mapper")
public class Springboot01DemoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Springboot01DemoApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Springboot01DemoApplication.class);
}
}
说明:启动类在原有基础上 1、extends SpringBootServletInitializer;2、重写configure方法
5、pom文件中不要忘了maven编译插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</build>
6、在IDEA中使用mvn clean命令清除旧的包,并使用mvn package生成新的war包
7、使用外部Tomcat运行该 war 文件(把 war 文件直接丢到 tomcat的webapps目录,启动 tomcat)
可以在idea中如下操作:


之后点击启动tomcat即可,然后就可以在浏览器上访问。
如何将springboot工程打包成war包并且启动的更多相关文章
- IDEA中将工程打包成war包及部署到Tomcat流程
工程打包成war包及部署到Tomcat流程 再IDEA开发工具中,将工程打包成war包流程: 父pom里需要移除内置的tomcat <dependency> <groupId> ...
- Maven项目打包成war包并启动war包运行
1 项目打包 1.1 右键点击所需要打包的项目,点击如图所示 Maven clean,这里 Maven 会清除掉之前对这个项目所有的打包信息. 1.2进行完 Maven clean 操作后,在ecli ...
- idea打包SpringBoot项目打包成jar包和war
- 打包成jar包 1. <groupId>com.squpt.springboot</groupId> <artifactId>springbootdemo< ...
- spring-boot 打包成 war包发布
1.用maven打包成war包 2.将war包用zip方式打开,删除里面的tomcat-embed相关的4个包,删除spring-boot-tomcat包 3.将删除了tomcat相关嵌入包后的war ...
- 将java project打包成jar包,web project 打包成war包的几种演示 此博文包含图片
转: http://blog.csdn.net/christine_ruan/article/details/7491559 http://developer.51cto.com/art/200907 ...
- spring boot打包成war包的页面该放到哪里?
背景 经常有朋友问我,平时都是使用spring mvc,打包成war包发布到tomcat上,如何快速到切换到spring boot的war或者jar包上? 先来看看传统的war包样式是什么样子的? 1 ...
- MyEclipse10破解后将工程导成war包时报错
MyEclipse10.7 破解后将工程导成war包时报错 : SECURITY ALERT:INTEGRITY CHECK ERROR This product did not pass t ...
- 打包成war包之后如何读取配置文件
今天工作开发中遇到一个问题:在idea运行的项目读取配置文件没有问题,打包成war包之后就会报错java.io.FileNotFoundException: class path resource 原 ...
- maven将自己的springboot项目打包成jar包后,作为工具包引入其他项目,找不到jar中的类
将springboot项目打包成jar包,作为工具包导入项目后,找不到jar中的类. 原因是:springboot项目使用了自动的打包插件. 原先的插件配置: <build> <pl ...
随机推荐
- Linux 网络时间同步
Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电池供电的时 ...
- [炼丹术]DeepLabv3+训练模型学习总结
DeepLabv3+训练模型学习总结 一.DeepLabs3+介绍 DeepLabv3是一种语义分割架构,它在DeepLabv2的基础上进行了一些修改.为了处理在多个尺度上分割对象的问题,设计了在级联 ...
- JSP使用转发后引入CSS失效的解决方案
项目目录结构: 正常引入样式: 但是当经过JSP处理,使用转发时地址栏不变,再用此地址引用则会出现引用失败的情况 正确使用方法: ${pageContext.request.contextPath} ...
- Vue基础知识的巩固与学习
生命周期的解析和应用: Vue 实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列过程,我们称这是 Vue 的生命周期.通俗说就是 Vue 实 ...
- laravel7 图片上传及视图显示
1:修改框架config下的文件filesystems.php中的配置: 原文件 <?php return [ /* |------------------------------------- ...
- js location.href 和 php header 跳转方式
if ($result){ echo '添加成功';// header('refresh:3,url=user_nameList.php'); echo "<script> al ...
- think php 公共目录common.php json封装
<?php function getJsonData($code,$massage,$data){ $result=[ 'code'=>$code, 'massage'=>$mass ...
- ajax 无刷新页面登录
1:页面代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- jmeter(二十八)利用beanshell进行多重断言
在接口测试中,我们对返回结果的正确性判断一般是基于响应报文的返回内容进行断言.但有些时候,按照正常的业务逻辑来说,一个请求返回的内容是多种不同的. 比如:用户注册功能,注册成功是正常的返回messag ...
- 如何创建一个 Cocoapods 插件
原文链接 前言 我们在使用 Cocoapods 过程中,如果发现它未能满足我们的要求该怎么办呢? 最简单的粗暴的办法就是 fork 一份 Cocoapods 源码,然后自己公司内部或者个人直接针对源码 ...


