jar、war、ear 区别

  • 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的区别:
  1. jar文件包括Java普通类、资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源文件夹下的所有文件。在打包的时候会自动生成MATA-INF文件夹,用于存储maven的pom信息和MANIFEST.MF文件。
  2. war文件包含全部的web应用程序,即所有的java类,配置信息和jsp、js等静态资源。但是需要注意war引用war的时候会将应用war的资源全部拷贝到当前war的相同文件下,重名的文件会被替换。
  • 项目完成前最好用jar,完成后用war文件,ear是jar和war的集合

  • 使用jar命令与winrar软件的区别在于前者在压缩文件的同时会生成MetaINF文件夹,内包含MANIFEST.MF文件。

  • Jar、war、EAR、在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:

  1. Jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等
  2. War文件(扩展名为.War,Web Application Archive)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。
  3. Ear文件(扩展名为.Ear,Enterprise Application Archive)包含全部企业应用程序。在这种情形下,一个企业应用程序为多个jar文件、资源、类和Web应用程序的集合。
  4. 每一种文件(.jar, .war, .ear)只能由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。
  5. EAR文件包括整个项目,内含多个ejb module(jar文件)和web module(war文件)
  • 打包成了jar包,不需要容器就可以在生成环境下通过运行jar包启动一个Web服务。
原文地址:https://www.cnblogs.com/cag2050/p/6867294.html