5.FreshMinutes.IT – Java & IT

5 minutes pour consolider ses connaissances en Java et dans les Nouvelles Technos.
  • Accueil
  • À propos
  • Contact, Twitter, Tumblr & Buzz

Tutoriel – Les bases de l’outil JAR et du compiler Java

Eric Vialle | Jeudi 22 mai 2008 | 12:22


L’utilisation d’EDI comme Eclipse nous fait oublier les bases de Java, comme l’utilisation d’une calculatrice nous fait oublier combien font 1+1… Nous allons ici revoir comment compiler notre code source et l’exécuter en ligne de commande.

Exécution d’une application à partir de son code source

Nous allons voir ici comment compiler et exécuter son projet.

Compilation du code Source Java

Nous allons transformer tous nos fichiers sources comportant une extension .java en fichier binaires .class (c’est à dire le Bytecode Java)

Lorsque des fichiers sont à specifier, vous pouvez utiliser le wildcard * afin de ne pas avoir a taper toute une liste de repertoire ou de fichier (par exemple: commande *.java)

Compilation Simple

javac -d /repertoireDeDestination fichiersACompiler1.java fichiersACompiler2.java

Compile les fichiers fichiersACompiler1.java et fichiersACompiler2.java dans le répertoire repertoireDeDestination.

Compilation à partir d’une certaine version d’un code source
javac -source 1.5 fichiersACompiler1.java fichiersACompiler2.javaCompilera votre code, comme si il s’agissait de code Java 1.5
Compilation à destination d’une certaine version de JVM
javac -target 1.5 fichiersACompiler1.java fichiersACompiler2.java

Compilera votre code, afin qu’il soit optimisé pour les JVM 1.5.

Il est impossible avec javac de compiler un code source pour une JVM ayant une version antérieure (compiler du source 1.5 pour une JVM 1.4, par exemple). Toutefois, l’outil Retroweaver permet de réaliser cette petite prouesse…

Création et manipulation du JAR

jar cf nomDuFichierJar repertoire1 repertoire2 fichier1 fichier2crée un nouveau JAR nommé nomDuFichierJar en y incluant fichier1, fichier2, fichier3. Le fichier MANIFEST.MF sera créé automatiquement.
jar tf nomDuFichierJar liste tous les fichiers du fichier JAR
jar xf nomDuFichierJar extrait le contenu du fichier JAR

Ajouter l’option 0 lors de la création d’un JAR (jar c0f ….)permet de ne pas compresser celle-ci. Cela peut etre utile si vous souhaitez démarrer rapidement une application locale.

Exécution de l’application Java

Avec un Jar

java -jar nomDuFichierJarExécute le fichier nomDuFichierJar en fonction du Manifest File. Ce fichier doit contenir le nom de classe contenant la méthode main, notamment
Main-Class: classname

Avec uniquement les fichiers .class
java fichierClassContenantLeMain

Attention le fichier a une extention .class (fichierClassContenantLeMain.class), mais son extention ne doit pas être mis dans la commande.

Options Possibles de jar, java et de javac

Ces trois commandes ont une foules d’options possibles. Je vous laisse les retrouver ici:

  • Javac sur le site de Sun
  • Java sur le site de Sun et toutes les options -XX
  • Jar sur le site de Sun

Vous pouvez customiser les paramètres de lancement de la machine virtuelle Java, dans Eclipse. Pour cela, allez dans dans le menu Run/Run Dialog et remplissez le champ VM arguements:

Connaissez vous la différence entre JAR, EAR, WAR, RAR, AAR ?

(Source: Wikipedia)

Avant de parler de leurs différences, parlons de leur points communs. Tous ces fichiers sont en fait des ZIP contenant des fichiers destinés à être executé par une JVM.

  • JAR: Java Archive…
  • WAR: Web Archive – sont des archives JAR contenant des fichiers XML, des classes Java, des JSP et d’autres objets pour les applications Web. Elles sont déployer généralement sur des serveurs Web (comme Tomcat ou WebSphere)
  • EAR: Enterprise Archive – sont des archives JAR contenant des fichiers XML, des classes Java et d’autres objets pour les applications d’entreprise. Elles sont utilisées principalement pour les applications contenant des EJB. Elles sont déployées sur des serveurs implémentant la quasi totalité des spécifications J2EE (comme Jonas+Tomcat ou Websphere)
  • RAR: Resource Adapter aRchive – sont des archives JAR contenant des fichiers XML, des classes Java et d’autres objets pour l’architecture de connecteurs (JCA) de la plateforme J2EE
  • AAR: Axis ARchive – sont des archives JAR spécifique pour le déploiement de service web sous Axis 2, voir Apache Axis.
  • Sources:

    • JAR sur Wikipedia
    • JAR sur le site de Sun
    • FAQ Java sur Développez.com


    Catégories
    EDI, Java, Tutoriel
    Tags
    aar, ear, jar, Java, javac, JVM, rar, war
    Flux rss des commentaires
    Flux rss des commentaires
    Trackback
    Trackback

    « Multi COUNT() sur une seule et même table avec Oracle Tutoriel Regex – Les expressions régulieres les plus utiles en Java »

    Leave a Reply

    Cliquez ici pour annuler la réponse.

    Articles récents

    • Push & communications asynchrones sur iOS (iPhone/iPad)
    • Optimiser le temps de chargement pour le web mobile avec iPhone, jQTouch, Struts 2 et Tomcat
    • La philosophie du Domain Driven Design User Group et l’état des lieux * Users Group en Février 2010
    • Introduction au NoSQL (et de Redis) ou le compte rendu du NoSQL User Group Paris de Février 2010
    • Gérer le Cache-Control HTTP dans une application Web Java EE avec Tomcat
    • Compiler son code? “It’s so 2000s” ou un apercu de Play et JRebel
    • Le blog change d’adresse
    • Le Paris JUG a fêté ses 2 ans: compte-rendu

    Navigation

    • Actualités Flux pour tous les articles classés dans Actualités
    • Architecture IT Flux pour tous les articles classés dans Architecture IT
    • Base de données Flux pour tous les articles classés dans Base de données
    • Java Flux pour tous les articles classés dans Java
      • Dévelopement Tips Flux pour tous les articles classés dans Dévelopement Tips
      • EDI Flux pour tous les articles classés dans EDI
      • J2ME Flux pour tous les articles classés dans J2ME
      • J2SE Flux pour tous les articles classés dans J2SE
      • Java EE Flux pour tous les articles classés dans Java EE
      • Tutoriel Flux pour tous les articles classés dans Tutoriel
    • Non classé Flux pour tous les articles classés dans Non classé
    • NoSQL Flux pour tous les articles classés dans NoSQL

    Promo

    Mots Clefs

    adobe apache application web Base de données benchmark bugs c# checkstyle dérivation eclipse find bugs findbugs flex framework play google gzip http iPhone jar Java Java User Group java web start JVM microsoft mysql object objet open source optimisation oracle performance plugin pmd polymorphisme qualité recrutement rich internet application serveur silverlight struts struts 2 sun test Tomcat web

    WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

    Twitter

    • J'ai testé OnLive Games sur mon Mac en Wifi: vraiment impressionnant que les possibilités du cloud gaming 2011-01-17
    • More updates...

    Livres Pour Aller Plus Loin…

    Blogoliste

    • Berthou.com
    • Le blog de hugu
    • PHP – Le Blog de Fatiha
    • techno.blog(java4it)
    Get Adobe Flash playerPlugin by wpburn.com wordpress themes
    rss Flux rss des commentaires valid xhtml 1.1 design by jide powered by Wordpress get firefox