Spring boot如何打war包发布到tomcat
前言:
平时在使用java做项目开发时,首先想到利用框架来提升开发效率,和提高可维护性。选择spring可以使用ssm(spring框架,springMVC,mybatis),而且企业中应用也比较广泛,然而还是发现,在框架中有很多配置,而且看起来相当繁琐,并且在这些配置中,大部分都属于默认配置,习惯配置。因此spring boot就此诞生,它的主要目的就是实现“0”配置,此处的“0”不是代表没有配置,而是代表极少的配置。并且spring boot还内置了tomcat。
Tomcat是一种web容器,类似于apache、nginx等,提供web服务的服务器软件。它属于轻量级,方便启动和配置的web服务器,非常适合用来学习之用。不过有时候也可以作为生产服务器来部署,通过搭建集群提高可用性和高负载性。上面说到spring boot内置了tomcat,就意味着spring boot项目可以自己运行(编写入口类,打为jar包,使用java -jar 包名.jar来运行)但是在有的情况下我们既需要发布软件的灵活性,又想使用spring boot为我们带来的便利,因此我们就需要将spring boot项目当做普通项目一样打成war包发布到tomcat,这正是本章编写的目的。
spring boot项目打war包发布的步骤(此处以maven做讲解):
1、构建spring应用(继承SpringBootServletInitializer并重写configure方法)
将入口文件做修改,代码如下:
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 WebApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(WebApplication.class);
}
}
2、配置pom.xml文件
A、先将打包类型做设置:
<packaging>jar</packaging>
改为:
<packaging>war</packaging>
B、其他配置如下
<!-- 继承spring boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 设置属性编码与版本-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!--设置打包时包的名称-->
<build>
<finalName>ROOT</finalName>
</build>
<!--配置依赖-->
<dependencies>
<!--java持久化API主要用于和数据库交互-->
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<!-- 移除嵌入式tomcat插件避免与发布后的环境冲突 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!--对数据库的支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- RabbitMQ -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<!--用于提供web服务(servlet容器)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入thymeleaf模板引擎-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--引入测试插件比如Junit-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.7</version>
</dependency>
<!--引入全文检索-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-solr</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<!-- httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.5</version>
</dependency>
<!--自动重启或自动关闭缓存等功能于开发很有用-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.8</version>
</dependency>
<!--引入阿里巴巴连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
</dependencies>
最后使用右键项目:
Run As > maven clean(清除已打包的其他文件) > maven install(打包)
然后在target目录下便可以看到设置了<finalName>ROOT</finalName>的war包,
之后发布即可
转载于:https://blog.51cto.com/lxqybyq/2106975
Spring boot如何打war包发布到tomcat相关推荐
- IDEA下spring boot项目打包war包部署外部tomcat问题
第一步,修改配置pom.xml文件 <packaging>war</packaging> <dependency> <groupId>org.sprin ...
- Spring Boot项目打war包(idea:多种方式)
Spring Boot项目打war包(idea:多种方式) 前言:在idea中,经常会对web项目进行打jar包或者war包.jar包在Java环境中运行,war包在Tomcat服务器中跑.对于打wa ...
- spring boot 项目打成war包部署到服务器
这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...
- Java工作笔记-使用Maven创建Spring Boot并生成war包外部tocamt运行
目录 基本概念 代码与实例 基本概念 目前发现很多Java项目都是直接使用Maven作项目管理,在Maven中配置依赖,比如Spring boot完成操作,在经历了这么多操作后,还发现大家喜欢把Mav ...
- 重磅!Spring Boot 2.5.0火热发布,还学得动吗?
今年520的事情是真的多,把Spring Boot 2.5.0的版本发布都给忽略了! 今天跟我一起看看Spring Boot 2.5.0又都带来了哪些振奋人心的新特性吧! 主要更新 支持 Java 1 ...
- war包部署vue_又一干货实战,spring boot2:以 War 包的形式部署
1. 前言 Spring Boot 提供了内置的 tomcat.undertow.jetty 三种 Servlet Web 容器.让我们开箱即用,可以迅速以 JAR 启动一个 Web 应用.但是在某些 ...
- springboot项目打war包发布到外置tomcat
第一步:修改pom.xml 1. <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> ...
- Spring Boot Admin 2.5.5 发布,支持在线重启服务
来源 | https://mp.weixin.qq.com/s/kKhqEbgvRGW6AiHPt0eXbA Spring Boot Admin 2.5.5 发布,这是一个错误修正版本.现在可以从 m ...
- jar注册成服务器,Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动(示例代码)...
背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...
最新文章
- 小记,springboot项目中自己常用的logback配置文件
- 精心整理,机器学习的3大学习资源
- C Tester Doer Pattern
- Server 2008 Core/服务器核心环境安装SQL 2008 方法
- 收购Roambi,SAP欲领导商务分析云迁移全球市场
- 【Python基础知识-pycharm版】第三节-列表
- ios支付宝支付失败不回调_为什么 iOS 支付成功后能回到 APP ,但是没有回调?...
- Element-UI中Cascader 级联选择器使用
- flask-配置的设置-三种配置的实现方法
- asp.net mvc源码分析-Action篇 DefaultModelBinder
- c++11 多线程编程(四)------ 死锁(Dead Lock)
- python数据包之利器scapy用法!
- 【C# 练习】C# 程序设计实用教程(第2版)黄兴荣
- 08-A. 旅馆顾客统计(静态成员)
- ThreeJs DRACO压缩并加载gltf模型
- 金三银四,作为Java程序员的你为什么面试总拿不到高薪?
- manjaro i3wm社区版配置记录
- 电气绘图软件EPLAN在WIN10详细安装教程
- Java 9 与 Java 10
- 基于云桌面的外部设备重定向技术调研
热门文章
- 梧州计算机学考查询,学考成绩查询
- /plus/recommend.php sql注入漏洞,DedeCMS 全版本通杀SQL注入漏洞利用代码及工具 -
- python pip install pillow_Windows下Python中pip安装Pillow报错总结(转载)
- PHP实现8进制转10进制,php 实现进制相互转换
- 按照自己的理解用js实现八皇后的算法
- 软件部署在不同linux上,如何在Linux中安装和部署keepalived
- vue 地图使用navigator_9 个实验 + 3 个项目,带你入门 Vue.js 3 !
- oracle undo seg,正确切换undo
- php 多维数组怎么表达,php 对多维数组的操作,该怎么解决
- linux怎么测试一个脚本,一个Linux中用于监控的简易shell脚本