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

Eclipse Java Discussion :

Compilation Projet sans eclipse


Sujet :

Eclipse Java

  1. #1
    Membre averti Avatar de Neolex
    Homme Profil pro
    Recherche emploi Securité informatique
    Inscrit en
    Avril 2011
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Recherche emploi Securité informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 243
    Points : 333
    Points
    333
    Par défaut Compilation Projet sans eclipse
    Bonjour à tous ,
    Voilà j'ai créer un projet en java sur eclipse . Cependant je voudrais partager mon code et faire en sorte que celui ci soit compilable facilement sans eclipse .
    J'ai essayé pas mal de chose mais j'ai toujours des erreurs .
    Où doit-je mettre les fichiers .java , sachant que j'ai deux dossier images et sounds utilisés dans les sources...

    Merci de votre aide.

    EDIT : sous eclipse les sources étaient dans un package "pong" mais je peux enlever cela du code source s'il pose problème ...

  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,

    Sauf pour des tests rapide, je te déconseille le "package vide"... ca finira par t'emmerder !


    Le plus simple serait d'organiser ton projet de la manière suivant :
    • src/ qui contiendra l'arborescence du code source.
      Donc si tu as un package "pong" qui contient une classe Pong, elle devra se trouver dans src/pong/Pong.java.
    • res/ qui contiendra les ressources (fichiers, images, ...) qui devront être intégré dans le jar (et donc tu accèdes via getResource()).
    • lib/ qui contiendra la liste des librairies externes utilisés par ton projet.
    • bin/ qui recevra l'arborescence des *.class compilé.


    Il faut bien faire attention à bien position les classes sous la bonne arborescence.


    Ensuite, pour compiler il faut préciser :
    • Le sourcepath, qui correspond au répertoire de base des sources (src).
      Cela permettra au compilateur de trouver le code source de classe lié à compiler.
    • Le classpath, qui correspond à l'emplacement des classes déjà compilé (bin), ainsi que les librairies externes (lib/*).
      Cela permettra au compilateur de charger ces objets depuis ses emplacements...
    • Le répertoire de base de la compilation, c'est à dire l'emplacement où le compilateur mettra ses codes sources.
    • Et enfin, ce n'est pas une obligation mais c'est toujours mieux, je recommande de spécifier l'encodage des fichiers sources (sinon c'est l'encodage par défaut du système qui est utilisé, et ca peut faire chier).

    Le tout suivi du nom du fichier source.

    Du coup, en te placant à la racine de ton projet, tu dois utiliser le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -sourcepath src -classpath lib/*;bin -d bin -encoding utf-8 src/pong/Pong.java
    Attention c'est une exemple "Windows" il y a quelques subtilitées, sous Linux/Unix il faut utiliser les ":" pour séparer les chemins, et protéger le "*" qui peut être interpréter par le shell :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -sourcepath src -classpath "lib/*:bin" -d bin -encoding utf-8 src/pong/Pong.java


    Tu peux également sauvegarder ces options dans un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    -sourcepath src
    -classpath "lib/*:bin"
    -d bin
    -encoding utf-8
    Si tu sauvegardes ceci dans un fichier nommé "javac.conf", tu pourras alors compilé en utilisant la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac @javac.conf src/pong/Pong.java


    Enfin, pour exécuter le code il suffit de spécifier le classpath suivi du nom de la classe (au sens Java - pas le nom du fichier).
    La principale différence vient que tu dois mettre le répertoire res dans les ressource (afin de trouver ces éléments via getResource()) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -classpath lib/*;bin;res   pong.Pong

    J'ai utilisé des chemins relatifs, mais tu peux bien sûr utiliser des chemins complets. Il faut juste passer les bons chemins



    Maintenant sur un projet un tant soit peu volumineux, je conseillerais quand même de s'orienter vers un script ant ou autre...


    a++

Discussions similaires

  1. Import de projet sans Eclipse
    Par movrack dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 22/03/2011, 10h00
  2. Compiler code Java projet Tomcat Eclipse
    Par jojo_ol76 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 30/01/2011, 16h09
  3. Réponses: 0
    Dernier message: 09/07/2010, 17h05
  4. comment fermer un projet sans lancer eclipse ?
    Par looplooploop dans le forum Eclipse
    Réponses: 0
    Dernier message: 02/04/2009, 10h49
  5. problème compilation projet eclipse C++ opengl
    Par youp_db dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/04/2007, 10h34

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