springboot打Jar包和War包
一:打JAR包
在工程的pom.xml中添加以下依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我们目前的工程采用的是jar 的打包方式,所以我们在执行package 命令后,会产生一个jar 包。
我们进入到这个目录用压缩软件打开此jar 包,其中我们发现了一个叫lib 的文件夹,打开lib 文件夹发现此文件夹下全是工程依赖的jar 包,甚至还有tomcat。这种包含有jar 包的jar包,我们称之为fatJAR( 胖jar 包)
由于fatJAR 本身就包括tomcat , 我们就不需要另外部署了,直接在命令行就可以把我们的应用启动起来,在命令行,进入到jar 包所在的目录,我们可以通过以下java –jar命令来执行此jar 包。在控制台会出现启动信息,在浏览器访问程序
二:打WAR包
spring-boot 默认提供内嵌的tomcat,所以打包直接生成jar 包,用java -jar 命令就可以启动。但是,有时候我们更希望一个tomcat 来管理多个项目,这种情况下就需要项目是war 格式的包而不是jar 格式的包。
我们按照以下步骤完成对工程的改造
(1)修改pom.xml
将打包方式修改为war
<packaging>war</packaging>
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
spring-boot-starter-tomcat 是原来被传递过来的依赖,默认会打到包里,所以我们再次引入此依赖,并指定依赖范围为provided,这样tomcat 相关的jar就不会打包到war 里了.
(2)添加ServletInitializer
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilderapplication) {
return application.sources(Application.class);
}
}
由于我们采用web3.0 规范,是没有web.xml 的,而此类的作用与web.xml相同。
(3)运行package 打包命令生成war 包
生成后将war 包放入tomcat,启动tomcat,测试完成的功能是否可以使用。
转载于:https://www.cnblogs.com/zlw-xf/p/7828359.html
springboot打Jar包和War包相关推荐
- SpringBoot微服务项目构建war包 部署排除指定jar
文章目录 一.构建war包部署SpringBoot项目 二.构建war包 2.1. 适用范围 2.2. 构建war包 三.部署排除指定jar 3.1. 下载排除插件 3.2. 搜索部署排除指定jar ...
- springboot打包为jar包和war包的区别
为什么springboot更支持打包为jar包 springboot打包为jar包和war包的区别 在springboot项目中使用的是springboot内嵌的tomcat容器,而war包是运行在外 ...
- springboot项目打成jar包和war包,并部署(快速打包部署)
War和Jar的区别: 通过jar运行实际上是启动了内置的tomcat,所以用的是应用的配置文件中的端口 通过war直接部署到tomcat之后,内置的tomcat就不会启用,所以相关配置就以安装的to ...
- 花5分钟过一遍jar包和war包的区别,以后都不会再迷茫
做Java开发,jar包和war包接触的都比较多. 今天,小编把两者的联系好好梳理下,花5分钟过一遍以后不再迷茫,你值得拥有: 一.概念 1. jar包:jar包是类的归档文件,与平台无关的文件格式, ...
- Linux中把文件夹打成war包,SpringBoot中maven项目打成war包部署在liunx服务器上的方法...
说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动 ...
- jar包和war包区别及理解
在开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新 Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情.在产品发布阶段,使用war文件 ...
- IDEA中打jar包和war包以及jar包和war包的区别及理解
首先我们先理解一下什么是jar包和war包! jar包:jar是类的归档文件! JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为 J ...
- jar 包与 war 包区别
参考: https://www.jianshu.com/p/3b5c45e8e5bd https://www.cnblogs.com/banml/p/11767305.html https://blo ...
- java jar包和war包_java中jar包和war包之间有什么区别
原标题:java中jar包和war包之间有什么区别 jar包 简单地说,JAR(Java Archive)是一种包文件格式.JAR文件具有.jar扩展名,可以包含库.资源和元数据文件. 本质上,它是一 ...
- eclipse maven项目 class类部署不到tomcat下_Spring Boot的两种部署方式:jar包和war包
前言 Spring Boot可以通过在pom中配置spring-boot-maven-plugin插件打包,支持两种打包部署方式jar包部署和war包部署. jar包部署 默认的打包方式是jar包,或 ...
最新文章
- CSL-YOLO | 超越Tiny-YOLO V4,全新设计轻量化YOLO模型实现边缘实时检测!!!
- java判断回文数代码实例
- python挖坑法实现快排
- java动物乐园_基于jsp的动物园管理系统-JavaEE实现动物园管理系统 - java项目源码...
- 基于深度学习的视频预测研究综述
- 任正非:华为鸿蒙将比安卓快 60%;小米已官方回应侵权偷图事件;博通正考虑收购软件公司,其中Tibco和赛门铁克为重点目标……...
- Flutter 使用动画播放一组图片
- python文件编码及执行
- Spring的ApplicationEvent的使用
- 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2...
- NETCONF YANG语言文件语法格式
- Linq 和DefaultView两种方法去掉DataTable 里的重复行
- python挑战赛怎么做trans_Python使用googletrans报错的解决方法
- 无人机-4无人机结构设计
- 易康(eCognition)对象几何特征--2:几何(Geometry)_ 形状(Shape)
- Linux日志快速定位
- 洛谷P5707 【深基2.例12】上学迟到(c++)
- 全栈公开课(深入浅出现代Web编程)学习——Part0-Web 应用的基础设施
- 阿里文娱永叔:利器or成本损耗?算法不是黑匣子
- in 在将 nvarchar 值转换成数据类型 int 时失败