理解:jar和war的区别

jar包和war包的区别

war是一个web模块,其中需要包括WEB-INF,是可以直接运行的web模块,而jar只包括class文件来,在声明了main_class之后是可以是可以用java命令运行的。

jar和war都是压缩包,比如Tomcat,把war包放到webapps目录下,运行tomcat,这个包会自动进行解压,也就是相当于web目录,直接部署了这个目录,及其下面的文件。

war包:是做好的一个web应用后,通常是网站,打成包部署到容器中。
jar包:通常是开发时要引用的通用累,打成包便于存放管理
ear包:企业级应用,通常是EJB打成ear包

所有的包都是用jar打的,只不过目标文件的扩展名不一样。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。

原文地址:https://www.cnblogs.com/forforever/p/13527697.html