美文网首页
jar和war区别

jar和war区别

作者: 小明今晚加班 | 来源:发表于2019-08-16 17:44 被阅读0次

JavaSE(java基础)程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可以理解为Web了)。然后把war发布到Tomcat的webapps目录下,Tomcat会在启动时自动解压war包。

JAR(Java Achive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为J2EE应用程序创建的JAR文件是EAR文件(企业JAR文件)。

JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用。在JAR中包含特殊的文件,如manifests和部署描述符,用来指示工具如何处理特定的JAR。

如果一个Web应用程序的目录和文件非常多,那么将这个Web应用程序部署到另一台机器上,就不是很方便了,我们可以将Web应用程序打包成Web归档(WAR)文件,这个过程和把Java类文件打包成JAR文件的过程类似。利用WAR文件,可以把Servlet类文件和相关的资源集中在一起进行发布。在这个过程中,Web应用程序就不是按照目录层次结构来进行部署了,而是把WAR文件作为部署单元来使用。

一个WAR文件就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个.war扩展名。

区别

WAR文件和JAR文件是有根本区别的。JAR文件的目的是把类和相关的资源封装到压缩的归档文件中,而对于WAR文件来说,一个WAR文件代表了一个Web应用程序,它可以包含Servlet、HTME页面、Java类、图像文件,以及组成Web应用程序的其他资源,而不仅仅是类的归档文件。

在开发阶段不适合使用WAR文件,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新Servlet类文件,而每一次改动后,重新建立WAR文件将是一件浪费时间的事情。在产品发布阶段,使用WAR文件是比较合适的,因为在这个时候,几乎不需要再做什么改动了。

总结:war包首先是web应用项目包,里面包括的内容广泛,项目中有啥,war包中就有啥,当项目完成后,我们需要部署的时候才打war包;而jar包中包括编译后的class和部署文件,通常是对共有类方法的封装。

image.png

相关文章

  • jar和war区别

    JavaSE(java基础)程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成w...

  • war包 jar区别

    jar包和war包的区别:war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar...

  • SpringBoot war包 jar包区别

    Spring Boot支持发布jar包和war包,推荐使用jar包的形式,使用jar包比较方便 区别 pom文件p...

  • war和jar的区别

    war和jar包的区别 war,包含web模块,是需要放到外部web容器里面,再启动web容器发布的包。以Tomc...

  • jar和war的区别

    JavaSE程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可...

  • war和jar的区别

    war和jar包的区别 war,包含web模块,是需要放到外部web容器里面,再启动web容器发布的包。以Tomc...

  • jar、war、ear打包的异同

    三者其实都是压缩包,区别在于压缩了什么内容。 jar与war包都是通过jar命令打包 jar包主要存放类 war包...

  • maven打包

    pom包和jar包war包的区别 pom工程:用在父级工程或聚合工程中,用来做jar包的版本控制。jar工程:将会...

  • war和jar包的区别

    jar包和war包的区别: war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而ja...

  • maven——jar和war的区别

    JavaSE程序可以打包成Jar(J可以理解为Java);JavaWeb程序可以打包成war(W可以理解为Web)...

网友评论

      本文标题:jar和war区别

      本文链接:https://www.haomeiwen.com/subject/crvqsctx.html