JAR

Java ARchive. Jar désigne également un récipient (bouteille, bocal, etc.) en anglais.

Besoin

Archiver/packager des ressources/extensions/applications Java.

Analyses

Les fichiers JAR peuvent être très simples (regroupement de classes) mais leur contenu peut aussi être spécialisé pour des lecteurs spéciaux (conteneurs EJB, Web, d'Applets, etc.).

Exemples

Exemples de JAR
ejb-jar WAR RAR EAR Applet
Contenu
  • org
    • javarome
      • myapp
        • business
          • Account.class
          • AccountBean.class
          • AccountKey.class
          • TransferRemote.class
          • TransferBean.class
          • UtilityClass.class
  • <strong>META-INF/</strong>
    • <strong>ejb-jar.xml</strong>
  • index.html
  • Logon.jsp
  • Menu.jsp
  • AnApplet.class
  • images/
    • Logo.gif
  • <strong>WEB-INF/</strong>
    • <strong>web.xml</strong>
    • struts-config.xml
    • struts-bean.tld
    • <strong>classes/</strong>
      • org
        • javarome
          • myapp
            • webapp
              • MainServlet.class
              • UtilityClass.class
    • <strong>lib/</strong>
      • struts.jar
  • library.jar
  • <strong>META-INF/</strong>
    • <strong>ra.xml</strong>
  • clientModule.jar
  • ejbModule.jar
  • webModule1.war
  • webModule2.war
  • connector.rar
  • <strong>META-INF/</strong>
    • <strong>application.xml</strong>
  • MonApplet.class
  • MaClasseUtilitaire.class
  • images/
    • MonImage.gif
  • sounds/
    • MonSon.au
Commentaire Représente un module EJB Web Archive. Représente une WebApp (module Web J2EE) et contient les classes nécessaires à ses Servlets et/ou JSP

Resource ARchive, contenant les classes nécessaires à un connecteur JCA

Enterprise ARchive, représentant une application J2EE (contenant des modules ejb-jar et/ou war et/ou rar et/ou client. L'applet peut ainsi être téléchargée en une seule requête HTTP (téléchargeant le fichier JAR) au lieu de n (1 pour récupérer chaque classe, image... nécessaire à l'applet).

Conception

La structure standard d'un fichier JAR est la suivante (tout est optionnel et des ajouts sont possibles, voir les exemples) :

Implémentation

Il est possible d'accéder à des fichiers JAR via l'API standard fournie dans J2SE dans le package <a href="https://java.sun.com/j2se/1.4.1/docs/api/java/util/jar/package-summary.html">java.util.jar</a>.

Notes