简单地说,JAR(Java Archive)是一种包文件格式。JAR文件具有.jar扩展名,可以包含库、资源和元数据文件。
本质上,它是一个压缩文件,包含压缩版本的.class文件和编译后的Java库和应用程序的资源。
meta-inf/ MANIFEST.MF com/ baeldung/ MyApplication.class
其中,在meta-inf/manifest.mf文件小红可能包含有关存档中存储的文件的其他元数据。
我们可以使用jar命令或maven等工具来创建jar文件。
war包
war代表Web应用程序存档或Web应用程序资源。这些存档文件具有.war扩展名,用于打包我们可以部署在任何servlet/jsp容器上的Web应用程序。
meta-inf/ MANIFEST.MF WEB-INF/ web.xml jsp/ helloWorld.jsp classes/ static/ templates/ application.properties lib/ // *.jar files as libs
在内部,它有一个meta-inf目录,在manifest.mf中保存着关于web存档的的有用信息。meta-inf目录是私有的,无法从外部访问。
另一方面,它还包含WEB-INF公共目录,其中包含所有静态Web资源,包括HTML页面、图像和JS文件。此外,它还包含web.xml文件、servlet类和库。
我们可以使用与构建JAR时相同的工具和命令来构建war文件。
java中jar包和war包的区别
1、文件扩展名不同
JAR具有.jar扩展名,而WAR文件具有.war扩展名。
2、目的和运作方式不同
JAR文件允许我们打包多个文件,以便将其用作库,插件或任何类型的应用程序。另一方面,WAR文件仅用于Web应用程序,一个war包可以理解为是一个web项目,里面是项目的所有东西。。
3、文件的结构也不同
我们可以创建具有任何所需结构的JAR。相比之下,WAR具有WEB-INF和meta-inf目录的预定义结构。
原文地址:https://www.jb51.cc/java/1192349.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。