Spring Boot打包成war与jar的区别及启动方式
一、jar简介
JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。
JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。
简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。
二、war简介
war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。
war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。war包中的文件按照一定目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下含有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的servlet类和jsp,或者servlet所依赖的其他类(如JavaBean)。通常这些所依赖的类也可以打包成jar包放在WEB-INF下的lib目录下。
简单来说,war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。
三、jar包和war包的区别介绍
1. 文件扩展名不同
jar包扩展名为.jar,war包扩展名为.war。
2. 目的和运作方式不同
jar包是类的归档文件,jar文件格式以流行的zip文件格式为基础。jar文件允许我们打包多个文件,以便将其用作库、插件或任何类型的应用程序。
war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为一个web项目,里面是项目的所有东西。
3. 文件的结构不同
jar包里的com里放的就是class文件,配置文件,但是没有静态资源的文件,大多数 JAR 文件包含一个META-INF目录,它用于存储包和扩展的配置数据,如安全性和版本信息。
war包和项目的文件结构保持一致。war包里的WEB-INF里放的class文件和配置文件,META-INF和jar包作用一样,war包里还包含静态资源的文件。
四、启动jar包和war包
1. 窗口方式启动jar或war
缺点:关闭窗口,项目也被关闭
java -jar rest-template-0.0.1-SNAPSHOT.jar
2. 后台启动jar或war
后台启动java包
# 进入jar包目录输入下面命令
# xxx.jar是你的jar包名
# /mydata/logs/spring.log是项目日志路径
nohup java -jar xxx.jar >/mydata/logs/spring.log 2>&1 &
查看jar包进程
ps -ef|grep xxx.jar
关闭进程
kill -9 进程id
3. tomcat启动
...
Spring Boot打包成war与jar的区别及启动方式相关推荐
- Spring Boot打包成执行jar后获取classpath下文件异常解决
Spring boot 打包后 jar文件,IDEA调试时候没什么问题,可是打包成执行jar后发现有异常抛出: class path resource [1.jpg] cannot be resolv ...
- spring boot 打包成二进制可以直接执行的jar , 非java -jar 启动方式
spring 打包成jar后可以直接使用java -jar xxx.jar 直接启动.但是还想进一步简化,直接用./xxx.jar 可以注册成系统命令的方式改如何配置呢,其实很简单. pom.xml ...
- Spring Boot 打包分离依赖 JAR 和配置文件
Spring Boot 打包分离依赖 JAR 和配置文件 2018年07月11日 15:17:09 <span class="read-count">阅读数 6145& ...
- eclipse打包成jar_Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?
前两天被人问到这样一个问题: "松哥,为什么我的 Spring Boot 项目打包成的 jar ,被其他项目依赖之后,总是报找不到类的错误?" 大伙有这样的疑问,就是因为还没搞清楚 ...
- spring boot 打包jar,jar没有主目录清单
(1)spring boot 打包jar 如果有不对的还请指点,知道自己技术部怎么样,第一次写,写的有点乱 理解一下 1.在POM.xml文件下添加如下代码:注意:version.confi ...
- Spring Boot 打包不同环境配置与 Shell 脚本部署
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 本篇和大家分享的是 Spring Boot 打包并结合 S ...
- spring boot 项目打成war包部署到服务器
这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...
- 将SpringBoot的项目打包成war文件
2019独角兽企业重金招聘Python工程师标准>>> 步骤一:修改pox.xml文件 1.首先将pom.xml的 <packaging>jar</packagin ...
- SpringBoot之打包成war包部署到tomcat
SpringBoot打包成war包部署到tomcat 小编花费了九牛二虎之力,总算把SpringBoot项目成功打包成war包,其中不免遇到了一些小状况,特写此文,以便其他小伙伴们不要走我的老路,避免 ...
最新文章
- 垂直AI初创企业 VS 横向AI初创企业:不同的产品路线选择
- 深度学习核心技术精讲100篇(六十四)-特征选择原理及应用实战案例
- 带你学python基础:模块和包
- 汉高澳大利亚matrix矩阵计算器
- linux,mac,unix 系统下cd 进入有空格的目录或者打开有空格的文件
- leetcode-16-最接近的三数之和
- dataframe for循环 筛选_Python循环12种超强写法,又快又省内存
- 蓝桥杯上Excel地址c语言,C语言求解Excel地址转换问题
- 容器编排技术 -- Kubernetes 垃圾收集
- html5简历阅读,HTML5 移动简历模板
- 服务器系统的功能,服务器操作系统有什么功能
- vue 获取安卓原生方法_H5-vue与原生Android、ios交互获取相册图片
- Using Beyond Compare with Version Control Systems(ZZ)
- AD学习之旅(1)— Altium Designer 16 软件下载与安装
- 使用Matlab对大地测量学中的大地坐标和大地空间直角坐标进行相互转换
- 精益物流设计毕业论文【Flexsim仿真】
- 我从冯·诺依曼计算机体系,追溯到了JVM,一切原来如此
- 从懵逼到恍然大悟之Java中RMI的使用
- 大学生简历个人优势怎么写? 有吸引力的简历制作要有重点
- 如何查看自己的ubuntu系统版本
热门文章
- PLC控制电路设计中常用的电气符号和文字符号
- 四、【python计算机视觉编程】照相机模型与增强现实
- 睿量30W迷你氮化镓,小巧耐用易携带,支持更多充电协议
- 深大复试题 计算机专业,2018深圳大学计算机技术考研复试真题
- 深圳大学计算机考研难吗,深圳大学(专业学位)计算机技术考研难吗
- Java实现细菌觅食算法_细菌觅食算法-python实现
- 知识追踪系列之IRT
- python弹球游戏双球代码键盘操作_python编写弹球游戏的实现代码
- 查询塑料塑胶材料属性参数的网站数据库
- 写word文档时计算机的工作原理,写word文档时还没保存电脑就死机如何恢复