Différence entre jar et war en Java
Quelle est la différence entre un .jar
et a .war
fichier? Est-ce seulement l'extension de fichier ou y a-t-il quelque chose de plus?
12 réponses
De Conseils Java: différence entre les fichiers EAR jar et war:
Ces fichiers sont simplement des fichiers zippés utilisation de l'outil java jar. Ces fichiers sont créé à des fins différentes. Ici est la description de ces fichiers:
.fichiers jar: la .les fichiers jar contiennent bibliothèques, ressources et fichiers Accessoires comme les fichiers de propriétés.
.fichiers war: le fichier war contient Web application qui peut être déployé sur n'importe quel servlet/JSP conteneur. Le .le fichier war contient jsp, html, javascript et autres fichiers nécessaire pour le développement du web application.
Description officielle de Sun / Oracle:
Wikipédia articles:
Un .war
fichier a une structure spécifique en termes de où certains fichiers seront. À part ça, oui, c'est juste un .jar
.
La principale différence entre un pot et une guerre est qu'un pot n'est pas vraiment un format à usage unique, alors qu'une guerre l'est. Avec un fichier JAR, vous pouvez empaqueter beaucoup de choses différentes. Habituellement, vous empaquetez des classes Java, mais vous pouvez mettre à peu près n'importe quoi dans un fichier JAR, et vous pouvez créer des fichiers JAR qui ont les fichiers et les formats de répertoire que vous voulez. Par exemple, Oracle (au moins dans 8.1.x) utilise en fait des fichiers JAR pour distribuer le logiciel Oracle sur les CD d'installation, et IBM les utilise pour distribuez une version installable de la documentation pour WebSphere. Techniquement, vous pouvez mettre des pages JSP, des pages HTML, des classes de servlet,etc. dans un bocal, mais vous n'utilisez généralement pas - vous utilisez une guerre.
Les fichiers WAR sont des fichiers JAR avec un format spécifique. Ce format est défini dans la spécification de servlet (que vous pouvez regarder sur le java.sun.com site). Essentiellement, le fichier WAR est un format standard pour les applications web qui a des répertoires spécifiques et des fichiers spécifiques. Cela inclut un répertoire WEB-INF, un WEB-INF / web.fichier xml utilisé pour décrire l'application, un répertoire WEB-INF / lib pour les fichiers JAR utilisés par l'application, et un répertoire WEB-INF/classes pour les fichiers de classe qui ne sont pas distribués dans un JAR. Vous mettriez également les pages (JSPS et HTML) dans la guerre. Ensuite, vous pouvez distribuer votre application en un seul fichier, au lieu d'une collection d'images, de pages HTML et de classes Java.
Vous ajoutez des composants web à une application J2EE dans un package appelé web application archive (WAR), qui est un JAR similaire au package utilisé pour les bibliothèques de classes Java. Une guerre contient généralement d'autres ressources en plus des composants web, y compris:
- classes utilitaires Côté Serveur (beans de base de données, paniers, etc.).
- ressources Web statiques (fichiers HTML, image et son, etc.)
- classes côté Client (applets et classes utilitaires)
Une guerre a une structure de répertoire hiérarchique spécifique. Le répertoire de niveau supérieur D'une guerre est la racine du document de l'application. La racine du document est l'endroit où les pages JSP, les classes et les archives côté client et les ressources Web statiques sont stockées.
(source)
Donc un .la guerre est un .jar, mais il contient des composants d'application web et est disposé selon une structure spécifique. Un .la guerre est conçu pour être déployé sur un serveur d'applications web tel que Tomcat ou Jetty ou un serveur Java EE tel que JBoss ou Glassfish.
Un fichier .war
est une Archive D'applications Web qui s'exécute à l'intérieur d'un serveur d'applications tandis qu'un .jar
est une Archive D'applications Java qui exécute une application de bureau sur la machine d'un utilisateur.
Un fichier war est un fichier JAR spécial qui est utilisé pour empaqueter une application web afin de faciliter son déploiement sur un serveur d'applications. Le contenu du fichier war doit suivre une structure définie.
.jar et .war sont tous deux des fichiers archivés compressés. Les deux peuvent avoir le méta-INF/manifeste facultatif.Fichier manifeste MF qui contient des informations informatives comme le versionnage, et des attributs pédagogiques comme classpath et main-class pour la JVM qui l'exécutera.
.fichier war-Archive D'Application Web destinée à être exécutée dans un 'conteneur de Servlet' et peut inclure d'autres fichiers jar (dans le répertoire WEB-INF/lib) classes compilées (dans le répertoire WEB-INF / classes (servlet y va aussi)).fichiers jsp images, fichiers, etc. Tout le contenu de guerre qui est là afin de créer un module autonome.
EAR
est une archive D'Application D'entreprise et peut contenir des fichiers JAR ejb, des fichiers WAR et des fichiers RAR (connector). Ils peuvent également contenir des bibliothèques tierces - mais vous devez savoir comment manipuler les installations D'extension Java (par exemple MANIFEST.MF Class-Path directive) pour que cela fonctionne bien.
WAR
est une archive D'Application Web et contient des fichiers JSPs," normaux " HTTP servis (HTML, images, etc.), servlets, bibliothèques de balises.
JAR
l'archive D'Application Java "normale" est-elle, mais dans ce contexte, il contient généralement des EJB au lieu de bibliothèques de code ou d'applications exécutables (par exemple à partir d'un conteneur d'application).
War et jar sont des archives pour les fichiers java. la guerre est archive web et ils sont en cours d'exécution sur le serveur web. jar est une archive java.
Fondamentalement les deux archives compressées. war est utilisé pour une application web avec une structure de répertoire spécifique.
Fichiers Jar (fichiers avec un .extension jar) sont destinés à contenir des bibliothèques génériques de classes Java, de ressources, de fichiers auxiliaires,etc.Alors que les fichiers War (fichiers avec un .extension war) sont destinés à contenir des applications Web complètes. Dans ce contexte, une application Web est définie comme un seul groupe de fichiers, classes, ressources, .fichiers jar qui peuvent être empaquetés et accessibles en tant que contexte de servlet unique.
Guerre -
Distribuez des applications Web basées sur Java. Une guerre a le même fichier structure d'un fichier JAR, qui est un seul fichier compressé contient plusieurs fichiers empaquetés à l'intérieur.
Jar -
Le .les fichiers jar contiennent des bibliothèques, des ressources et des fichiers d'accessoires comme les fichiers de propriété.
Les fichiers WAR sont utilisés pour combiner JSP, servlets, fichiers de classe Java, XML fichiers, bibliothèques javascript, bibliothèques JAR, pages Web statiques et tout d'autres ressources nécessaires à l'exécution de l'application.