IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ANT Java Discussion :

Jar executable avec Ant, souci de main class


Sujet :

ANT Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 40
    Par défaut Jar executable avec Ant, souci de main class
    Bonjour,

    Tout d'abord je précise que j'arrive sans pb à faire mon jar executable avec eclipse à la mano. Le souci c'est avec Ant, il n'y a pas moyen qu'il prenne en compte la Main-Class indiquée dans le MANIFEST.

    J'ai un package qui s'appelle batchArchive.
    Dedans j'ai mes classes java et mon build.xml .
    Le fichier MANIFEST est dans le rep META-INF.

    Mon build.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <project name="batchArchive" default="createJar" basedir=".">
     
        <property name="nomjar" value="batchArchive.jar" />
    	<property name="chemin" value="../../../.."></property>
     
    	<target name="createJar">
    		<delete file="META-INF/MANIFEST.MF" />
    		<manifest file="META-INF/MANIFEST.MF" >
    			<attribute name="Built-By" value="${user.name}"/>
    			<attribute name="Main-Class" value="BatchZIP"/>
    		</manifest>
    		<jar jarfile="${chemin}/${nomjar}" basedir="." manifest="META-INF/MANIFEST.MF" >	
           </jar>
        </target>
     
    </project>
    Le fichier MANIFEST est bien créé par Ant mais au lancement, l'appli ne trouve pas la main class...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Je ne sais pas quel est exactement le problème que tu rencontres (attribut non ajouté au fichier MANIFEST ? MANIFEST pas créé ? ...) Mais toujours est-il que si ta classe BatchZIP est dans le package batchArchive, il faut indiquer le nom complet de la classe, package inclus, dans le manifest...
    Donc dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <attribute name="Main-Class" value="batchArchive.BatchZIP"/>
    De plus je mettrais le tag manifest à l'intérieur de celui jar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <jar jarfile="${chemin}/${nomjar}" basedir=".">
        <manifest>
            <attribute name="Built-By" value="${user.name}"/>
            <attribute name="Main-Class" value="batchArchive.BatchZIP"/>
        </manifest>
    </jar>
    Je procède ainsi et n'ai jamais eu de problèmes

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 40
    Par défaut
    J'ai aussi essayé avec le nom complet du package, cela ne change rien.

    "fr.xx.yyy.batchArchive.BatchZIP"

    Pour répondre à ta question le fichier MANIFEST est bien crée et correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.6.0_01-b06 (Sun Microsystems Inc.)
    Built-By: XXXXXX
    Main-Class: fr.XX.YYY.batchArchive.BatchZIP
    le souci c'est qu'à l'exécution du JAR, il ne trouve pas la main class.
    Alors qu'avec une exportation avec eclipse, je n'ai pas le pb.

    D'ailleurs en comparant les deux fichiers jar générés, on voit qu'il y a des différences.

  4. #4
    Invité
    Invité(e)
    Par défaut
    S'il y a des différences, tu pourrais peut-être nous les expliquer ici afin qu'on puisse t'aider...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 40
    Par défaut
    Les données ne sont pas en texte, c'est en partie des données binaires. J'ai l'impression que la compilation ne tiens aucun compte du fichier Manifest tout simplement. Pourtant je l'indique bien à Ant mais il n'a pas l'air de réaliser la compilation correctement.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Le MANIFEST n'intervient pas dans la compilation.
    Tu as regardé le contenu de to MANIFEST dans le jar généré par Ant ? Il ressemble à quoi ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/05/2011, 01h41
  2. Jar executable avec eclipse
    Par Bulveye dans le forum Applets
    Réponses: 0
    Dernier message: 11/06/2010, 20h08
  3. execution avec ant.
    Par seve51 dans le forum ANT
    Réponses: 1
    Dernier message: 31/01/2008, 14h18
  4. [Maven2]Jar executable avec ses librairies
    Par Shogun dans le forum Maven
    Réponses: 3
    Dernier message: 26/09/2007, 17h57
  5. Réponses: 6
    Dernier message: 17/04/2005, 10h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo