转载:https://juejin.cn/post/7086099522903883790
jar包:是与平台无关的文件格式,允许将多个文件组合成一个压缩文件,以zip文件格式为基础,不同的是jar文件不仅用域压缩和发布,而且还用于部署和封装库,组件和插件程序,可被像编译器和jvm这样的工具直接使用
jar就是别人写好的类,对类进行打包,可以将这些jar包引入到项目中,直接使用jar中的类和属性,一般jar包放在lib目录下
war包:是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中,如tomcat:将war包直接放在webapps目录下启动tomcat,这个包会自动解压,相当于发布。
war包是Sun提出的一种web应用程序格式,与jar类似是很多文件的压缩包。war包中的文件按照一定目录结构来组织,其目录下包含有html和jsp文件,WEB-INF目录(含有web.xml文件和classes目录(包含编译好的servlet和jsp或者servlet所依赖的其他类))
war包是javaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖包,配置文件,所有的网站页面,包括html,jsp等,一个war包可以理解为是一个web项目,里面是项目的所有东西,包含静态资源。
springboot应用使用jar是因为其不是简单的归档文件(也可将web所需的html、图片等打进包中,只是通常不这么做,在前后端分离场景下,这些静态资源会放到cdn),而是可以不依赖tomcat等应用容器,只需要java -jar即可启动web服务。更适用于微服务及云场景。
而war包才是简单的归档文件,可直接解压war包得到其内的文件,必须依靠应用容器才能启动服务。
pom:是maven依赖文件
jar:java普通项目打包
war:javaweb项目打包,打包成war包部署到服务器,目的:节省资源,提供效率
作者:秋名山车神00
链接:https://juejin.cn/post/7086099522903883790
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。