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

Langage Java Discussion :

Commande de compilation


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut Commande de compilation
    Bonjour a tous...
    J'ai une question sans doute un peu idiote...

    J'ai compilé et exécuté mes prgs java a la main pdt des années...mais depuis j'utilise eclipse...qui gère ca très bien a ma place...
    Mais bon, désormais il faut que je me refasse un shell pour compiler mes sources...
    Seulement mes sources sont dans trois package (donc trois dossiers) différents.
    En gros j'ai a la racine de mon projet un dossier classes, un dossier lib et un dossier source, dans mon dossier source j'ai mes trois package engine, struct et gui
    Comment faire un shell qui permet de compiler tout ca...
    Pour l'instant je faisais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    cd src/struct;
    javac -classpath ../../lib/jdom.jar:. -d ../../classes *.java;
    cd ../gui;
    javac -classpath ../../lib/jdom.jar:. -d ../../classes *.java;
    cd ../engine;
    javac -classpath ../../lib/jdom.jar:. -d ../../classes *.java;
    Mais ca ne fonctionne pas....en effet il ne me trouve pas les classes des autres package...en gros quand il veut compiler struct, il me dis ne pas connaitre toutes les classes situées dans les autres packages (ce qui est logique d'un autre coté...)
    Donc si quelqu'un a une idée!

    Ps: est ce que quelu'un connais une astuce pour récupérer la commande de compilation et d'exécution utilisés par eclipse?

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut
    Tu n'inclus pas dans ton classpath le chemin vers tes autres packages lorsque tu compile struct par exemple.
    Tu devrais rajouter dans le classpath ../ ou ../gui si je ne me trompe pas.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Eh bien je pensais comme toi, mais ca marche pas des masses....en fait ca marche pas du tout, j'ai essayé ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    cd src/struct;
    javac -classpath ../../lib/jdom.jar:../gui/*:../engine/*:. -d ../../classes *.java;
    cd ../gui;
    javac -classpath ../../lib/jdom.jar:../struct/*:../engine/*:. -d ../../classes *.java;
    cd ../engine;
    javac -classpath ../../lib/jdom.jar:../gui/*:../struct/*:. -d ../../classes *.java;
    Sans succès....
    Quelqu'un peut-il m'aider? Merci d'avance.

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut
    En fait il faut que tu remontes un cran plus haut pour aller chercher les .class et non les .java :

    -classpath ../../lib/jdom.jar:../../classes/gui....etc.

    Mais il y a qqch qui me derange, si aucun .class existe, tu ne pourras pas compiler le package struct avant d'avoir compiler les package dont tu as besoin dans struct.
    Donc soit tu changes simplement l'ordre (si les autres packages sont independants de struct), soit il faudrait faire qqch d'un peu plus propre pour compiler dans l'ordre qu'il faut les differentes classes et packages.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Tout a fait...c'est bien mon problème...
    Si je pointe sur les .classes...encore faut il qu'ils existent...
    En effet, engine et gui sont très dépendant de struct,....
    Mais d'un autre coté, struct contient des déclarations d'objets gui et engine...
    Donc c'est la galère...
    Je me demande bien comment eclipse fait pour me compiler tout ca...

  6. #6
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Ton problème ne viendrais pas du fait que tu essais de compiler une classe qui fait référence à une autre classe qui n'a pas encore été compilée ?
    J'ai déjà eu ce problème une fois, la solution que j'ai trouvée consistait à compiler selon un odre définit : les classes isolées ( ne faisant pas référence à d'autres ) sont compilées en premier. Cela a un inconvénient : rajjouter des lignes dans le script de compilation car au lieu de faire :
    javac monRepertoire/*.java

    il faudra faire :
    javac monRepertoire/MaClasse1.java
    javac monRepertoire/MaClasse2.java
    etc.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Effectivement...je crois que c'est la seule solution!
    Mais bon....vu mon nombre de classes...ca va être comique a faire..
    Merci pour votre aide en tout cas...

  8. #8
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut
    Citation Envoyé par tomca
    Je me demande bien comment eclipse fait pour me compiler tout ca...
    En fait lorsque tu crees tes differents packages, tu ne les crees pas tous en meme temps et ils evoluent au fur et a mesure.
    Donc des choses sont deja compilees, et le menage n'est jamais vraiment fait. Avant de compiler le tout par toi meme, tu ne te rends pas compte des classes qui se mordent la queues.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/10/2007, 06h38
  2. variable string et ligne de commande a compiler.
    Par boblaterreur dans le forum Delphi
    Réponses: 5
    Dernier message: 20/08/2007, 22h32
  3. problème commande shell compilation auto
    Par ludovic85 dans le forum C#
    Réponses: 1
    Dernier message: 07/02/2007, 12h28
  4. Commande de compilation Pascal pour RTE/A
    Par meydel dans le forum Pascal
    Réponses: 3
    Dernier message: 06/09/2006, 07h37
  5. Changer la commande de compilation
    Par palacemusic dans le forum JBuilder
    Réponses: 3
    Dernier message: 17/01/2003, 00h27

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