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

API standards et tierces Java Discussion :

exécuter une classe dans un jar a partir d'une methode java


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Points : 46
    Points
    46
    Par défaut exécuter une classe dans un jar a partir d'une methode java
    bonjour, je vous expose mon probleme:
    je souhaite exécuté une classe dans un .jar a partir d'un autre class a l'extérieur du jar

    monrepertoire
    +- monjar.jar
    | +- monautreprog.class
    |
    +- monprog.class
    dans un premier temps, je l'ai fait avec une methode qui exécute dans code shell: ( #java -cp PATH/monjar.jar monautreprog ), ça marche mais j'aurai aimé le codé proprement avec des method qui charge ce class et l'éxécute.

    si vous avez des idées, des method qui pourrait corespondre je suis tout ouïe.
    merci

  2. #2
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    tu appelles le main c'est une methode comme une autre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monautreprog.main(new String[]);

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Points : 46
    Points
    46
    Par défaut
    et on peut modifier le classpath a partir du 1er prog java ou faire un import?
    pour qu'il soit trouvé

  4. #4
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    bah oui un import mais il faut que ton prog est acces au jar.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Points : 46
    Points
    46
    Par défaut
    import monjar.*
    en ayant modifié le classpath au préalable ?

  6. #6
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    Dans l'import, c'est la classe qu'on présise ou le package pas le jar.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import monpackage.MaClasse;
    avec le jar dans le classpath


  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Points : 46
    Points
    46
    Par défaut
    ok merci

    ( ps: pourquoi je suis tombé sur du java pour mon stage !!! lol )

  8. #8
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Tu n'es pas obligé d'avoir le jar dans le classpath, mais tu dois alors utiliser la classe URLClassLoader pour "charger" ton jar, puis la méthode Class.forname().
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  9. #9
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    Citation Envoyé par yann_p
    pourquoi je suis tombé sur du java pour mon stage
    le java, c'est bien et tu trouveras pas grand monde ici pour te dire le contraire... perso, c'est le langage que je préfère utiliser.

  10. #10
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut
    Attention, pour les appels ou pour l'insertion du jar dans ton classpath, il faut toujours renseigner le chemin uniquement jusqu'au jar, et pas l'arborescence qui est dedans...

    Un de mes collègues pourrait t'en dire des belles à ce propos sinon (ou comment perdre 1 heure et se dire que son programme ne marche pas...).

    ++
    Merci d'utiliser le bouton [Résolu] pour les sujets qui le sont.
    [pub]mon blog franco anglais, article du moment: Wicket: fournir des données JSON via Ajax[/pub]

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Points : 46
    Points
    46
    Par défaut
    moi j'aime pas trop les language objet, je prefere le C ( vous allé me traité de maso lol )

    les pointeurs... tous ça... c bien lol

  12. #12
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    oui, le classpath jusqu'au .jar et pour les import, tous les packages jusqu'a la classe

  13. #13
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    N'oublie pas le tag
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Points : 46
    Points
    46
    Par défaut
    merci le y@m's c'est exactement ce que je voulé

    Tu n'es pas obligé d'avoir le jar dans le classpath, mais tu dois alors utiliser la classe URLClassLoader pour "charger" ton jar, puis la méthode Class.forname().

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

Discussions similaires

  1. Attribut d'une classe dans un JAR
    Par Minimus dans le forum Langage
    Réponses: 7
    Dernier message: 12/10/2010, 09h46
  2. Réponses: 3
    Dernier message: 20/07/2009, 11h15
  3. [PHP 5.0] appel d'une variable global dans un autre fichier à partir d'une classe
    Par andry.aime dans le forum Langage
    Réponses: 1
    Dernier message: 13/01/2009, 09h31
  4. Réponses: 2
    Dernier message: 17/11/2006, 18h26
  5. 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

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