三者其实都是压缩包,区别在于压缩了什么内容。
jar | war | ear | |
---|---|---|---|
英文全称 | Java Archive file | Web Archive file | Enterprise Archive file |
包含内容 | class、properties文件,是文件封装的最小单元 | 包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等 Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等 | 除了包含JAR、WAR以外,还包括EJB组件 |
部署文件 | application-client.xml | web.xml | application.xml |
容器 | 应用服务器(application servers) | 小型服务程序容器(servlet containers) | EJB容器(EJB containers) |
级别 | 小 | 中 | 大 |
- jar与war包都是通过jar命令打包
- jar包主要存放类
- war包是打包一个web应用,一般是包含前后端的网站
- ear通常是企业级大型应用