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 :

Ant et Target Compilation


Sujet :

ANT Java

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 94
    Points : 53
    Points
    53
    Par défaut Ant et Target Compilation
    Bonjour à tous,

    j'ai créer une target Ant pour la compilation.
    Cependant, j'aimerais que tous mes .class sont stockées dans un dossier build.
    Pour faire ça, je crée donc le dossier build avant la compilation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     <!-- TARGET QUI COMPILE LE CODE JAVA DANS LE REPERTOIRE BUILD -->
    	<target name="compile">
    		<!-- création d un répertoire pour la compilation -->
    		<mkdir dir="${build.dir}"/>
    		<!-- compilation des sources Java -->
    		<echo message = "Compilation des sources" />
    		<javac  srcdir="${src.dir}" destdir="${build.dir}" >
    			<classpath refid='classpath'/>
    		</javac>
    	</target>
    Toutes mes classes à compiler se trouve dans un package com.XXX.ZZZ

    Lorsque j'exécute mon fichier ANT, je retrouve bien mes .class dans le dossier build mais dans le sous répertoire build>com>XXX>ZZZ.

    J'aimerai savoir :
    - pourquoi il recrée la structure de mon package dans le dossier build
    - comment faire pour que les .classes se trouvent directement dans le dossier build et pas un sous-répertoir.

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par nddvlp Voir le message
    - pourquoi il recrée la structure de mon package dans le dossier build
    C'est propre à Java.
    Les classes sont organisé sur le disque (ou dans les archives jar) dans des répertoires correspondant à leurs packages.
    Cela permet de les trouver et de les charger plus efficacement...

    Citation Envoyé par nddvlp Voir le message
    - comment faire pour que les .classes se trouvent directement dans le dossier build et pas un sous-répertoir.
    Tu ne peux pas... sauf à rendre le tout inutilisable.


    Pourquoi un tel besoin ?
    En quoi cela te gène-t-il ?


    a++

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Je voulais avoir une structure plus simple qui soit plus facilement "manipulable".

    Car je me retrouve avec une structure du genre

    com>XXX>ZZZ>build>com>XXX>ZZZ qui je trouve est répétitive.

    L'idée derrière ça est en fait de pouvoir créer des jars par packages
    mais aussi de pouvoir créer un jar "global" qui doit être capable de reprendre l'ensemble des .class de tous mes packages.

    J'aurais aimé pouvoir créer mes différents "petits" jars et avoir une référence vers chacun d'eux dans mon jar "global" :

    com.XXX.ZZZ1.jar
    com.XXX.ZZZ2.jar
    avec com.XXX.general.jar ne reprenant que les .class du package com.XXX.general.

    Pour le moment, je suis obligé d'avoir com.XXX.general.jar contenant les .class du package com.XXX.general et ceux des packages com.XXX.ZZZ1 et com.XXX.ZZZ2. Je dois donc passer dans tous mes dossiers pour récupérer les .class (d'où mon intéret de vouloir simplifier l'accès).

    [EDIT]
    Du coup, dans eclipse, je me retrouve avec :

    - mon package com.XXX.ZZZ
    - un sous package com.XXX.ZZZ.build.com.XXX.ZZZ

    alors que j'aurai simplement voulu un sous-dossier build dans mon package com.XXX.ZZZ . J'ai l'impression que mon dossier "build" n'est pas créé au bon endroit. Je voudrais qu'il fonctionne un peu comme le dossier lib contenant les librairies

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nddvlp Voir le message
    Car je me retrouve avec une structure du genre

    com>XXX>ZZZ>build>com>XXX>ZZZ qui je trouve est répétitive.
    C'est la première partie qui n'est pas normale. Pas la seconde.
    Pourquoi tu met le dossier "build" dans ton package.

    Le "build" de la target ant (et de javac tout court) doit correspondre à la racine des package...

    Et je ne vois pas en quoi ce serait facilement manipulable d'avoir toutes les classes en vrac dans un même répertoire...


    a++

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Oui je me suis trompé. Je créais un dossier build dans chacun de mes packages au lieu d'un seul dossier build regroupant, par package, mes .class.

    En effet, en placant le build à la racine il est alors logique de retrouver la structure des packages dans le dossier build.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ant - problème de compilation
    Par fk04 dans le forum ANT
    Réponses: 6
    Dernier message: 04/12/2007, 21h45
  2. [ant] probléme de compilation
    Par hari dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/05/2006, 19h21
  3. Compiler, Déployer des EJB avec ANT ?
    Par Johnbob dans le forum ANT
    Réponses: 3
    Dernier message: 28/09/2004, 17h04
  4. [ANT] compilation idl
    Par ed_hunter dans le forum CORBA
    Réponses: 2
    Dernier message: 24/08/2004, 15h50
  5. [NetBeans] [Ant] Problème à la compil'
    Par GLDavid dans le forum NetBeans
    Réponses: 2
    Dernier message: 05/07/2004, 22h10

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