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 :

[Info]Travailler avec des librairies en cours d'élaboration


Sujet :

Eclipse Java

  1. #1
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut [Info]Travailler avec des librairies en cours d'élaboration
    Salut,

    Je suis sur un projet J2EE qui utilise une librairie que je suis en train de développer pour ce projet.

    Donc dans eclipse, j'ai un projet "myj2eeProject" et un autre "myj2eelib".

    J'ai configuré ant pour qu'il exporte myj2eelib sous la forme d'un jar puis qu'il colle le fichier dans "../MyData/web/WEB-INF/lib" et dans les librairies de mon projet, j'ai spécifié "myj2eelib.jar".

    Ca a fonctionné au début, je pouvais utiliser les classes de myj2eelib dans myj2eeproject et myj2eelib.jar était exporté dans le war et déployé sur le serveur.

    Malheureusement, maintenant, lorsque je modifie myj2eelib et que le jar a été généré (et copié dans le dossier lib de myj2eeproject), je ne peux plus modifier les jsp de myj2eeproject car j'ai un message d'erreur "save failed:jzentry" et ensuite le workbench plante.

    Je suppose donc que je ne fais pas comme il faut et qu'il y a un moyen prévu pour faire ça.

    Alors comment s'organise-t-on lorsqu'on bosse sur un projet qui utilise une librairie en cours de développement pour toujours avoir les dernières modifications de la librairie dans le projet ?

    Merci d'avance
    Lilian






    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    La technique que nous avons mis en place (qui 'avère plus galère quand ta librairie est commune à plusieurs "myJ2EEProject" :

    1- Sélectionne ton projet
    2- File - New - Folfer
    3- Clique sur "Advanced"
    4- Coche "Link to file System"
    5- Clique sur "Variables..."
    6- Clique sur "New"
    7- Nomme le "myj2eeproject_classes"
    8- Fais le pointer sur le répertoire myJ2EEProject/WEB-INF/classes
    9- Valide les 2 dialogues et donne un nom à ton répertoire "myj2EEproject_classes" par exemple
    10 -valide

    Maintenant tu dois voir apparaitre un autre répertoire sous ton projet (avec une petite décoration qui indique qu'il s'agit d'un lien et non d'un répertoire physique)

    Maintenant il ne te reste qu'à positionner le répertoire de sortie de tes classes dans ce répertoire (Project - Properties - Java Build Path - Default Ouput Folder)

    Ainsi tes classes seront générées dans le répertoire myJ2EEProject/WEB-INF/classes

    Si ta lib est commune à plusieurs sous-project cela devient un peu galère car il faut créer plusieurs répertoires et changer en fonction du projet que tu attaques (autant faire de bon build et les lancer cela ira plus vite)

  3. #3
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    OK, merci pour ta réponse.

    En fait j'ai peut-être trouvé une autre méthode (il faut encore que je teste pour être sur mais ça a l'air de marcher).

    1er problème : référencer myj2eelib dans les projets.
    Pour ça, j'ai simplement référencé le projet myj2eelib dans les projets qui l'utilisent, de cette façon le développement et la compilation au niveau d'eclipse fonctionnent.

    2ème problème : exporter la librairie avec le war pour qu'il soit disponible sur tomcat.
    Pour ça, j'ai configuré Ant (dans myj2eelib) pour qu'il copie le jar dans les dossiers "WEB-INF/lib" de mes projets j2ee.

    A+Lilian

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 34
    Points : 38
    Points
    38
    Par défaut
    Si tu utilises tomcat, tu peux ajouter le plugin TomcatPlugin de Sysdeo et cela t'évites de déployer à chaque fois un war pour tester.

    Tu peux configurer ton contexte Tomcat pour qu'il cherche les sources dans ton workspace Eclipse, et le DevLoader fournit avec ce plugin te permet de référencer d'autres projets Java (librairies en cours de développement) pour qu'il les trouves à l'exécution sans en faire un jar à chaque fois.

    Par contre pour le déploiement réel, faire un war de l'appli web et un jar de ta librairie qui est placé dans WEB-INF/lib est ce qu'il faut faire.

Discussions similaires

  1. Travailler avec des gifs animés
    Par Commodore dans le forum Imagerie
    Réponses: 1
    Dernier message: 13/07/2006, 15h58
  2. [Maven] Compilation avec des librairies
    Par pamic dans le forum Maven
    Réponses: 3
    Dernier message: 03/07/2006, 11h29
  3. Réponses: 8
    Dernier message: 09/03/2006, 17h48
  4. Travailler avec des hexadécimaux
    Par LEK dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 18/09/2005, 04h24
  5. Travailler avec des bits
    Par Vulvulune dans le forum Langage
    Réponses: 5
    Dernier message: 02/03/2003, 19h09

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