前言
做java开发的jar包和war包接触的比较多,做运维的也会接触到,运维的这个问题一般是问: 开发人员给你的包是jar包还是war包。
因为培训机构的小伙伴没有接触过java,所以分不清jar和war的区别。
jar包
java的归档文件,java程序可以打包成jar包
jar包就是别人写好的一些类,然后对这些类进行打包,开发人员可以将这些jar包引入到自己的项目中,使用这些类和属性。
jar包一般放在lib目录下
war 包
war包是一个web模块,可以直接运行,一般开发好的网站,打包后部署到tomcat的网站根目录下,然后重启tomcat,这个包就可以自动解压,相当于代码发布。
war包是java web程序打的包
war包里包括:
- 代码编译成的 class文件
- 依赖包
- 配置文件
- html,jsp
所以一个war包可以理解为是一个网站项目
生成一个war 文件: jar -cvf web0922.war
解压一个war文件: jar -xvf web0922.war
maven
maven是什么?
可以这么理解,有两个项目,项目1依赖 一些jar包, 项目2也需要依赖这些jar包。
通常的做法是: 把jar包导入项目1, 项目2也需要,那就再把jar也导入项目2一份。
如果有10个项目,我们就导入10次,比较麻烦, 有没有办法可以把jar包集中在一个地方,比如 192.168.1.66/var/lib/
需要什么包就去这个路径下去自动下载?
这个时候maven就出现了。
有没有想起一个叫yum的东西,虽然不一样,但原理类似。
总结
关于jar包和war包的区别问的比较多,面试官主要是看你有无工作经验,所以不用担心。