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 :

Redondance de classes dans les jar


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut Redondance de classes dans les jar
    Bonjour à tous

    Je suis étudiant, et je travail actuellement sur plusieurs projet sjava avec Eclipse pour ma boite. Je rencontre quelques petits soucis au niveau de la redondance des classes dans les jars de mes projets.

    J'explique un peu mieux : j'utilise un jar déjà crée par un développeur de l'entreprise, qui contient plusieurs classes qui me facilite les connexions et la communication sql aux bases de données de l'entreprise. Ce jar reste assez volumineux.
    Ce jar, je l'ai ajouté à de nombreux éléments spécifiques que j'ai développé, et qui sont propre à l'entreprise, comme par exemple une JFrame qui me permet une connexion au serveur du personnel pour vérifier que l'utilisateur appartient bien à l'entreprise et pour avoir son niveau de droit pour les futur programmes utilisant c. Pour chacun de ses éléments j'ai créer un jar pour pouvoir les réutiliser ultérieurement.


    Mais voila le problème, c'est que dans les programmes que je développe, il n'est pas rare que j'ai besoin du jar contenant la JFrame pour la connexion (qui embarque déjà les classes SQL), des jar des classes SQL elles même pour les attaquer à certains éléments de mon interface, et même des jars d'autre éléments qui embarquent eux aussi les classes SQL ...
    Donc j'embarque dans mon projet plusieurs fois les classes de connexion/communication SQL dans un projet, et ça augmente pas mal la taille de mon logiciel finale.


    Est-ce qu'il y a un moyen pour éviter cette redondance de classes dans les jar de mon logiciel ?

    Merci beaucoup de votre aide

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    Comme sa je te dirais de faire un jar avec les classes de connexion et de communication sql que tu peux appeller OutilsJBDC.jar et tu l'inclus dans un projet quand tu veux utiliser une connexion ainsi tu as dans un endroit la gestion sql.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    a lire (parce que explications pas claire), je suppose que à chaque fois tu as créé un gros jar qui contenait à la fois l'application en question et ses dépendances.

    Pour la réutilisation ce n'est pas la meilleure façon de faire. Tu dois laisser les jars séparés et te contenter de les utiliser dans ton application.


    Ainsi, tu dois avoir

    Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Application 1:
     app1.jar (avec META-INF/MANIFEST.MF ayant un classpath pointant vers les libs)
     outilA.jar
     outilB.jar
    Application 2:
     app2.jar (avec META-INF/MANIFEST.MF ayant un classpath pointant vers les libs)
     outilB.jar
     outilC.jar
    Application général:
     big app.jar (avec META-INF/MANIFEST.MF ayant un classpath pointant vers les libs)
     app1.jar
     app2.jar
     outilA.jar
     outilB.jar
     outilC.jar

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut
    Désolé des explications peut précises, je reformule ça :

    J'ai un jar, JarA.jar, qui contient des classes de connexion/communication SQL.
    J'ai créer un un élément, qui est une JFrame avec des Composants SWING, qui permet d'afficher une fenêtre de connexion. On rentre les informations, et cet élément utilise le JarA. Cet élément, j'en ai fait un jar, c'est JarB.jar.

    J'ai donc JarA, et JarB.

    Maintenant, je veux créer une application nommée Application.
    Cette application a besoin de la JFrame personnalisé de connexion, donc elle va contenir JarB (qui contient déjà JarA). Mais j'ai aussi besoin des classes de connexion/communication pour les utiliser par exemple avec des JTextField pour afficher des informations propre à l'application. Application va donc aussi contenir JarA.

    Donc du coup, Application aura JarA, et JarB (qui contient JarA), du coup j'aurais 2 fois JarA dans mon Application.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tu ne dois pas mettre les jar dans d'autres jars!

    Tu coup tu aura

    application 1:
    jarA.jar
    jarB.jar

    application 2:
    application.jar
    jarA.jar
    jarB.jar

    tout au même niveau et pas l'un dans l'autre.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut
    Ok merci beaucoup pour vos réponses

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/07/2006, 16h30
  2. methode pour exécuter une class dans un jar
    Par yann_p dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2006, 17h47
  3. Réponses: 8
    Dernier message: 18/04/2006, 12h16
  4. exécuter une classe dans un jar a partir d'une methode java
    Par yann_p dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 13/04/2006, 15h50
  5. Réponses: 13
    Dernier message: 18/01/2006, 12h51

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