首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

spring boot 使用maven和fat jarwar运行应用程序对比

使用maven和fat jar/war运行应用程序对比 简介 上篇文章我们介绍了Spring bootfat jar/warjar/war都可以使用 java -jar 命令来运行,而maven...Spring Boot Maven Plugin 上篇文章我们提到了Spring Boot Maven Plugin,通过使用该插件,可以有效提高部署效率,并打包成为fat jar/war。...在打包fat jar/war时候,背后实际上做了如下事情: 管理了classpath配置,这样我们在运行java -jar时候不用手动指定-cp 。...使用了自定义ClassLoader来加载和定位所有的外部jar依赖。并且所有的依赖jar已经被包含在这个fat里面了。...如果想打包fat jar/war, 需要使用Maven Spring Boot plugin,如下所示,否则打包出来jar并不包含外部依赖:

1.4K10

SpringBoot从0到实战5:项目是如何通过jar启动?

Spring-boot-maven-plugin谈起 对于SpringBoot打包jar文件,只需要通过jar -jar一行命令便可以启动一个web项目,那springboot是如何做到呢,这需要从...对于SpringBoot项目,我们会在pom.xml文件添加打包插件spring-boot-maven-plugin,那么执行打包时候,会生成相应jar文件,比如: spring-boot-hello...-0.0.1-SNAPSHOT.jar 打开上面jar文件可以发现有如下东西: 通过查阅资料和学习,可以发现,Spring-boot-maven-plugin完成了几件对打包重要事情: 1、生成核心文件...MANIFEST.MF; 2、把依赖jar进行打包; 在jar打包进去了别的jar,这样jar成为fat jar,也叫作uber jar。...总结 Spring Boot应用打包之后,生成一个Fat jar,包含了应用依赖jarSpring Boot loader相关类。

9110
您找到你想要的搜索结果了吗?
是的
没有找到

使用spring boot创建fat jar APP

介绍 在很久很很久以前,我们部署web程序方式是怎么样呢?配置好服务器,将自己写应用程序打包成war,扔进服务器中指定目录里面。当然免不了要配置一些负责xml和自定义一些servlet。...现在有了spring boot,一切都变了,我们可以将web应用程序打包fat jar,直接运行就行了。 本文将会关注于怎么使用Spring Boot创建一个fat jar。...如果你要在服务器上面永久运行该服务,即使登录用户退出服务器,则可以使用nohup命令: nohup java -jar fat jarfat war 在上面的例子...,所有的依赖jar都会被打包进入这一个fat jar,如果你使用了tomcat,那么tomcat也会被打包进去。...但有时候我们还是需要打包成war,部署在服务器,这种情况只需要将pom.xmlpackaging属性修改为war即可。

90010

SpringBoot - 探究Spring Boot应用是如何通过java -jar 启动

文章目录 Pre 引导 新建工程 打包 启动 java -jar 干啥 打包插件 spring-boot-maven-plugin简介 结构 META-INF内容 Archive概念 JarFile...---- 打包插件 事实上,Java没有提供任何标准方式来加载嵌套jar文件 (jar包含jar ,即Spring Boot fat jarSpring Boot 默认打包插件如下:...spring-boot-maven-plugin简介 spring-boot-maven-plugin项目存在于spring-boot-tools目录。...spring-boot-maven-pluginrepackage能够将mvn package生成软件,再次打包为可执行软件,并将mvn package生成软件重命名为.original*...通过spring-boot-plugin 生成了MANIFEST.MF , main-class 指定运行java -jar主程序把依赖jar文件 打包fat jar. ?

1.4K30

Spring Boot应用打包和部署

一、创建基于Spring Boot框架可执行Jar Spring Boot开发应用可以打包为单独JAR,然后通过java -jar .jar命令运行。...Note:Uber JAR是将应用程序打包到单独jar,该jar包包含了应用程序依赖所有库和二进制。...运行Jar启动Java web应用 分析 如上所示,打包成可执行jar这种方法相当直观,背后工作由spring-boot-maven-plugin插件实现:先通过maven-shade-plugin...生成一个包含依赖jar,再通过spring-boot-maven-plugin插件把spring boot loader相关类,还有MANIFEST.MF打包jar里。...总结下Spring Boot应用启动流程:(1)spring boot应用打包之后,生成一个fat jar,里面包含了应用依赖jar,还有Spring boot loader相关类;(2)Fat

63230

使用Spring Boot创建docker image

最最通用办法就是将Spring boot应用程序打包成一个fat jar,然后写一个docker file,将这个fat jar制作成为一个docker image然后运行。...Spring bootfat jar分为三个部分,第一部分就是BOOT-INF, 里面的class目录放是我们自己编写class文件。而lib目录存放是项目依赖其他jar。...第三部分是Spring Boot类加载器,fat jar启动是通过Spring BootjarLauncher来创建LaunchedURLClassLoader,通过它来加载lib下面的jar...但是如果使用fat jar,即使我们只修改了我们自己代码,也会导致整个fat jar重新更新,从而影响docker image构建速度。...jar snapshot-dependencies – SNAPSHOT依赖jar spring-boot-loader – Spring bootclass loader文件 application

1.5K21

SpringBoot打包部署解析:jar生成和结构

SpringBoot打包部署解析 SpringBoot项目支持两种常见打包形式: jar 和 war 。...本节从 jar 生成、结构、运作原理来分析 Spring Boot实现。 jar生成 Spring Boot 可执行 jar 又称作 fat jar”,是包含所有三方依赖 jar。...spring-boot-maven-plugin repackage 能够将 mvn package 生成软件,再次打包为可执行软件,并将 mvn package 生成软件重命名为*.original...另外spring-learn-0.0. 1-SNAPSHOTjar则是在 Spring Boot 通过 jar jar 启动,它包含了应用依赖,以及 spring boot 相关 class...jar结构 在上一节,通过 spring-boot-maven-plugin 生 成了可执行 jar ,下面分析-下 jar spring-learn-0.0.1-SNAPSHOT.jar

1.4K30

SpringBoot系列-- jar可执行原理

spring-boot-maven-plugin SpringBoot 可执行jar又称fat jar ,是包含所有第三方依赖 jar jar 嵌入了除 java 虚拟机以外所有依赖,是一个...普通插件maven-jar-plugin生成spring-boot-maven-plugin生成之间直接区别,是fat jar主要增加了两部分,第一部分是lib目录,存放是Maven依赖...└─util 也就是说想要知道fat jar是如何生成,就必须知道spring-boot-maven-plugin工作机制,而spring-boot-maven-plugin...其二,如果在这个机制下,由于fat jar依赖各个第三方jar文件,并不在程序自己classpath下,也就是说,如果我们采用双亲委派机制的话,根本获取不到我们所依赖jar,因此我们需要修改双亲委派机制查找...依赖spring-boot-loader和spring-boot,使用 "!

90110

Spring-boot特性(1) 原

当然,run方法必须要配合相关注解才能实现Spring Boot目标功能。关于spring boot打包以及jara -jar或者CLI启动,后续博文会介绍。...Starter 特性并没有什么新技术,仅仅是通过pom文件方式引用了一些必要,然后在引入之后通过Spring Boot自动推导配置为引入jar注入必要配置Bean。...需要注意是如果运行完整打包工程Spring Boot不启用任何Devtools相关功能(实际上打包工具spring-boot-maven-plugin默认情况下不会去打包Devtools),为了防止...前面介绍了Devtools“热部署”是通过2个ClassLoader(BaseClassLoader、RestartClassLoader)实现,默认情况下.jar类只会使用BaseClassLoader...首先,我们需要在打包时候连同spring-boot-devtools一起打包并发布,而spring-boot-maven-plugin默认不是打包Devtools,所以我们需要将Pom文件plugins

45130

Springbootjar分离

但是随着例行维护发现,springboot每次整体打包,都要往服务器传递近百来兆一个大jar,非常费力,所以就想着进行一个简单优化,从而使每次上传量尽量小。    ...而实际情况是:我个人主页模块基本定型了,依赖基本不会产生大变动了,所以想要将这个jar分离,单独放在一个lib文件夹下,每次只需要打包核心代码上传即可!...不过有时候可能会使用自己parent或者个人喜欢明确引入依赖,那么可能需要自己配置goal。   设置为repackage可以打包成可执行jar或者war。...如果没有main函数,后续设置layout=NONE也可以实现打包不可执行jar。...若要再war生效,需要设置spring-boot-devtoolsoptional为true或者scope为    provided。这个工具可以重写manifest文件,管理了启动类和主类集。

1.1K10

微服务架构之Spring Boot(八)

可执行jar(有时称为“fat jar”)是包含已编译类 以及代码需要运行所有jar依赖项归档。...可执行jar和Java Java没有提供加载嵌套jar文件标准方法(jar文件本身包含在jar)。如果您要分发自包含应用程序,这可能会有问题。 为了解决这个问题,许多开发人员使用“超级”罐子。...uber jar将所有应用程序依赖项所有类打包到一个存档。这种方法问题在于 很难看出应用程序中有哪些库。如果在多个罐子中使用相同文件名(但具有不同内容),也可能会有问题。...Spring Boot采用不同方法,让你直接嵌套罐子。 要创建可执行jar,我们需要将 spring-boot-maven-plugin 添加到 pom.xml 。...这是Maven在Spring Boot重新打包之前创 建原始jar文件。 要运行该应用程序,请使用 java -jar 命令,如下所示: 和以前一样,要退出应用程序,请按 ctrl-c 。

33420

Spring Boot 核心编程思想-第一部分-读书笔记「建议收藏」

:如果要构建Spring Boot应用可执行JAR,则需要添加 spring-boot-maven-plugin 插件配置到 pom 文件。...FAT JarFAT War 执行模块-Spring-boot-loader 问:为何 java -jar命令能够执行FAT Jar 文件呢?...2、但是打的依然是要放入外在Tomcat容器,也可以使用Tomcat插件配置打包打包后用java -jar也可以运行 Tomcat插件演示 官方最高支持 tomcat7 ,tomcat8 社区维护...image.png Tomcat 插件插件生成jarSpring boot 生成jar区别 1、Tomcat maven插件,本质上还是传统Tomcat部署,先将WEB应用打包为ROOT.war...2、Tomcat Maven 插件打包Jar或者War 是非 FAT模式。简单说就是存在压缩情况。Spring Boot maven 插件 采用零压缩模式。 零压缩相当于 :jar -0 参数。

80410

【企业云端全栈开发实践-1】项目介绍及环境准备、Spring Boot快速上手

项目中涉及到编译、打包、运行、使用jar等等,都可以使用maven来帮助我们,使用pom.xml文件来进行处理。 2.1 Maven作用 项目构建:提供标准、跨平台自动化构建项目的方式。...依赖管理:方便快捷管理项目依赖资源(jar),避免资源之间版本冲突等相关问题。 统一开发结构:提供标准统一项目开发结构,如下所示。...2.3 本地仓库配置 修改maven安装conf/settings.xml文件,指定本地仓库位置。...2、能够使用内嵌Tomcat、Jetty服务器,不需要部署war文件。即直接为jar。 3、提供定制化启动器Starters,简化了Maven配置,开箱即用。...> 在application.properties添加: spring.devtools.restart.enabled=true spring.devtools.restart.additional-path

7110

测试环境搭建——Spring Boot 部署

运行方式 Spring Boot应用程序有两种运行方式: 以jar方式运行 以war方式运行 两种方式应用场景不一样,各有优缺点 jar运行 通过maven插件spring-boot-maven-plugin...war运行 以war方式运行,通过maven插件spring-boot-maven-plugin进行相关配置后,最终生成一个可运行在tomcat,weblogic等java web容器war。...这里我们介绍 jar 方式。 基本准备 Web 服务器 对于Spring Boot,Spring官方建议是将Spring Boot应用打包成一个fat jar,通过java命令来启动运行。...IDEA打包: Maven 命令: # 清理已存在编译结果mvn clean # 打包mvn package 打包完成后将在targe目录生成对象jar。...注: Jar相关依赖信息、名称等等在pom文件中进行设置。 部署 将打包文件放置在部署服务器指定目录下,并设置指定权限, 在该目录下编辑启动脚本start.sh: #!

56020

公司这种打包启动方式,我简直惊呆了!

大家都知道,SpringBoot应用最终会打出一个Fat Jar, 里面包含了用到全部依赖,启动也非常简单,java -jar xxx.jar即可。...打包方式详解 主要是通过两个maven插件打出这样结构。...1. spring-boot-maven-plugin 该插件是spring boot官方提供一个打包插件,主要用来打出fat jar,并且提供了支持java -jar xxx.jar方式启动。...我们需要用这个插件,因为只有它可以打出支持启动jar,但是打出又不能有依赖,该怎么做呢?如下图: layout: 布局方式,这里要选择ZIP,后面说明原因。...Spring Boot 可执行 jar 主要入口点;关注公众号:码猿技术专栏,回复关键词:1111 获取阿里内部java性能调优手册;它是 Spring Boot jar 文件实际 Main-Class

35720

公司这种打包启动方式,我简直惊呆了!

大家好,我是不才陈某~大家都知道,SpringBoot应用最终会打出一个Fat Jar, 里面包含了用到全部依赖,启动也非常简单,java -jar xxx.jar即可。...打包方式详解主要是通过两个maven插件打出这样结构。...1. spring-boot-maven-plugin该插件是spring boot官方提供一个打包插件,主要用来打出fat jar,并且提供了支持java -jar xxx.jar方式启动。...我们需要用这个插件,因为只有它可以打出支持启动jar,但是打出又不能有依赖,该怎么做呢?如下图:图片layout: 布局方式,这里要选择ZIP,后面说明原因。...Spring Boot 可执行 jar 主要入口点,它是 Spring Boot jar 文件实际 Main-Class,用于设置适当 URLClassLoader 并最终调用Spring Boot

87170

公司这种打包启动方式,我简直惊呆了

前言 如果本文对你有帮助的话,球球帮忙投个票吧,投票通道 感激不尽呀~~ 大家都知道,SpringBoot应用最终会打出一个Fat Jar, 里面包含了用到全部依赖,启动也非常简单,java -jar...打包方式详解 主要是通过两个maven插件打出这样结构。...spring-boot-maven-plugin 该插件是spring boot官方提供一个打包插件,主要用来打出fat jar,并且提供了支持java -jar xxx.jar方式启动。...官网地址:docs.spring.io/spring-boot…。 我们需要用这个插件,因为只有它可以打出支持启动jar,但是打出又不能有依赖,该怎么做呢?...Spring Boot 可执行 jar 主要入口点,它是 Spring Boot jar 文件实际 Main-Class,用于设置适当 URLClassLoader 并最终调用 Spring Boot

50010

打包SpringBoot工程并部署

:org.apache.maven.plugins:maven-jar-plugin:2.4:jar org.springframework.boot:spring-boot-maven-plugin:...1.0.1.RELEASE:repackage   2、编译打包:工程-->Run As--> Maven build (编译)--- Maven install(打包)   3、获取jar:在工程下...target文件夹下找到打包jar文件;   4、部署:springboot工程打包jar部署只需要jre坏境即可:    文件结构如下:满足linux与windows机器部署需要,使用不同jre...二、打包成war并部署:     官网说明:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/...Goals输入package   2、如果正常的话,可以在工程-target文件夹下找到打包war;   3、部署:需要jre和tomcat,结构如下:     war放入tomcat文件夹

45020

『互联网架构』软件架构-Spring boot快速开始及核心功能介绍()(85)

,因为teststarter包含了junit。...场景:redis默认配置。数据库连接池大小配置。 @ComponentScan 组件扫描,也就是我现在需要扫描哪些包下面的注解,可自动发现和装配一些bean。...35729 (四)项目打包部署 修改boot-parentpom.xml文件,增加如下内容(当然也可以把下面的内容复制到子模块也是可以) ...执行java -jar xx.jar ? 【注意:执行jarjdk版本需要与jar打包编译版本一致。...如果配置了环境变量,直接使用java命令打包即可】 PS:SpringBoot入门基本到这里,这就是微架构,一个程序打包之后轻轻松松在如任何地方一执行就完成了。

42620
领券