jar包是类的归档文件。jar文件格式是以流行的zip文件格式为基础,但与zip文件不同的是,jar文件不仅用于压缩和发布,而且还能用于部署和封装(库、组件和插件程序),并且jar可以被编译器和JVM这样的工具直接使用。
jar包的文件解压之后的目录:
jar包的com文件中存放的class文件;
还有各种的配置文件;
META-INF文件中存放的是存储包和扩展的配置数据(如:安全性和版本信息)。
war包是打包的是javaweb程序。war包里面主要包括:class文件、依赖的包、配置文件、所有的网站页面(html和jsp等)。war包包括项目的所有东西,可以理解为一个web项目。
war包的目录结构:
META-INF包存放的同样是存储包和扩展的配置数据;
WEB-INF包存放的是class文件和配置文件;
war包比jar包多的就是存放了静态资源的文件。
什么时候使用jar包,什么时候使用war包?
在项目还没有完全完成的时候,不建议使用war包的打包方式,因为类在调试的时候会进行重复的修改,删除和创建war文件很不方便。所以最好是在项目完成的时候,不进行修改的时候,打成war包,这样war包就相当于一个web程序。
jar文件说白了就是将类和相关的资源封装到一个包中,便于程序的引用。