一:打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包相关推荐

  1. SpringBoot微服务项目构建war包 部署排除指定jar

    文章目录 一.构建war包部署SpringBoot项目 二.构建war包 2.1. 适用范围 2.2. 构建war包 三.部署排除指定jar 3.1. 下载排除插件 3.2. 搜索部署排除指定jar ...

  2. springboot打包为jar包和war包的区别

    为什么springboot更支持打包为jar包 springboot打包为jar包和war包的区别 在springboot项目中使用的是springboot内嵌的tomcat容器,而war包是运行在外 ...

  3. springboot项目打成jar包和war包,并部署(快速打包部署)

    War和Jar的区别: 通过jar运行实际上是启动了内置的tomcat,所以用的是应用的配置文件中的端口 通过war直接部署到tomcat之后,内置的tomcat就不会启用,所以相关配置就以安装的to ...

  4. 花5分钟过一遍jar包和war包的区别,以后都不会再迷茫

    做Java开发,jar包和war包接触的都比较多. 今天,小编把两者的联系好好梳理下,花5分钟过一遍以后不再迷茫,你值得拥有: 一.概念 1. jar包:jar包是类的归档文件,与平台无关的文件格式, ...

  5. Linux中把文件夹打成war包,SpringBoot中maven项目打成war包部署在liunx服务器上的方法...

    说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动 ...

  6. jar包和war包区别及理解

    在开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新 Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情.在产品发布阶段,使用war文件 ...

  7. IDEA中打jar包和war包以及jar包和war包的区别及理解

    首先我们先理解一下什么是jar包和war包! jar包:jar是类的归档文件! JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为 J ...

  8. jar 包与 war 包区别

    参考: https://www.jianshu.com/p/3b5c45e8e5bd https://www.cnblogs.com/banml/p/11767305.html https://blo ...

  9. java jar包和war包_java中jar包和war包之间有什么区别

    原标题:java中jar包和war包之间有什么区别 jar包 简单地说,JAR(Java Archive)是一种包文件格式.JAR文件具有.jar扩展名,可以包含库.资源和元数据文件. 本质上,它是一 ...

  10. eclipse maven项目 class类部署不到tomcat下_Spring Boot的两种部署方式:jar包和war包

    前言 Spring Boot可以通过在pom中配置spring-boot-maven-plugin插件打包,支持两种打包部署方式jar包部署和war包部署. jar包部署 默认的打包方式是jar包,或 ...

最新文章

  1. CSL-YOLO | 超越Tiny-YOLO V4,全新设计轻量化YOLO模型实现边缘实时检测!!!
  2. java判断回文数代码实例
  3. python挖坑法实现快排
  4. java动物乐园_基于jsp的动物园管理系统-JavaEE实现动物园管理系统 - java项目源码...
  5. 基于深度学习的视频预测研究综述
  6. 任正非:华为鸿蒙将比安卓快 60%;小米已官方回应侵权偷图事件;博通正考虑收购软件公司,其中Tibco和赛门铁克为重点目标……...
  7. Flutter 使用动画播放一组图片
  8. python文件编码及执行
  9. Spring的ApplicationEvent的使用
  10. 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2...
  11. NETCONF YANG语言文件语法格式
  12. Linq 和DefaultView两种方法去掉DataTable 里的重复行
  13. python挑战赛怎么做trans_Python使用googletrans报错的解决方法
  14. 无人机-4无人机结构设计
  15. 易康(eCognition)对象几何特征--2:几何(Geometry)_ 形状(Shape)
  16. Linux日志快速定位
  17. 洛谷P5707 【深基2.例12】上学迟到(c++)
  18. 全栈公开课(深入浅出现代Web编程)学习——Part0-Web 应用的基础设施
  19. 阿里文娱永叔:利器or成本损耗?算法不是黑匣子
  20. in 在将 nvarchar 值转换成数据类型 int 时失败

热门文章

  1. CSDN如何自动生成目录
  2. MATLAB 图像函数(第三章) 图像基本处理
  3. 【r语言】如何将直方图和一条曲线画在一起(叠在一张图上)
  4. 关于WampServer一些配置修改
  5. Python基础综合练习
  6. angularJS 全选反选批量删除
  7. 今天来个爪哇去边框的小代码
  8. matlab GUI 初学
  9. pku 3436 ACM Computer Factory ——最大流 EK
  10. Windows下Android平台搭建_1