- jar、war、ear 区别(表格比较)
区别项 | jar | war | ear |
---|---|---|---|
英文全称 | Java Application Archive | Web Application Archive | Enterprise Application Archive |
包含的资源 | Java类的普通库、资源(resources)、辅助文件(auxiliary files) | 全部的web应用程序,即所有的java类,配置信息和jsp、js等静态资源 | 包含全部企业应用程序,一个企业应用程序为多个jar文件、资源、类和Web应用程序的集合。 |
由什么容器进行处理 | 应用服务器(application servers) | 小型服务程序容器(servlet containers) | EJB容器(EJB containers) |
- maven中jar和war的区别:
- jar文件包括Java普通类、资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源文件夹下的所有文件。在打包的时候会自动生成MATA-INF文件夹,用于存储maven的pom信息和MANIFEST.MF文件。
- war文件包含全部的web应用程序,即所有的java类,配置信息和jsp、js等静态资源。但是需要注意war引用war的时候会将应用war的资源全部拷贝到当前war的相同文件下,重名的文件会被替换。
-
项目完成前最好用jar,完成后用war文件,ear是jar和war的集合
-
使用jar命令与winrar软件的区别在于前者在压缩文件的同时会生成MetaINF文件夹,内包含MANIFEST.MF文件。
-
Jar、war、EAR、在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:
- Jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等
- War文件(扩展名为.War,Web Application Archive)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。
- Ear文件(扩展名为.Ear,Enterprise Application Archive)包含全部企业应用程序。在这种情形下,一个企业应用程序为多个jar文件、资源、类和Web应用程序的集合。
- 每一种文件(.jar, .war, .ear)只能由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。
- EAR文件包括整个项目,内含多个ejb module(jar文件)和web module(war文件)
- 打包成了jar包,不需要容器就可以在生成环境下通过运行jar包启动一个Web服务。