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 :

Retrouver nom de la classe principale depuis un programme JAVA


Sujet :

Langage Java

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Points : 143
    Points
    143
    Par défaut Retrouver nom de la classe principale depuis un programme JAVA
    Bonjour,

    Est il possible de connaitre le nom de la classe principale (celle contenant le main()) depuis un programme java ?

    Bien sur je souhaite y acceder depuis une autre classe que la principale ...

    Peut être est-ce dans les variables d'environnement, je n'ai pas trouvé !

    Merci à vous !

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Si tu as tout les fichiers du logiciel, la classe devrait etre indiqué dans le fichier MANIFEST.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Points : 143
    Points
    143
    Par défaut
    Oui j'ai tous les fichiers car je suis entrain de le créer ce logiciel ... ^^

    MAis j'ai besoin, depuis une classe "X" de mon fichier de connaitre le nom du programme en cours d'éxécution ...

    La classe "X" e nquestion appartient à une librairie ... Je souhaiterais donc récupèrer le nom de classe contenant le main, et ce automatiquement ...

    J'espère que c'est possible ...

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    tu peux peut être utiliser la classe Class (java.lang) qui te permet de récupérer les noms des méthode d'une classe (en testant si la classe contient bien une méthode main).

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Points : 143
    Points
    143
    Par défaut
    Oki, je vais tester,

    Je pensait trouver directement une variable dans l'environnement d'éxécution ou un truc comme ca ...

    Je pense utiliser les objets Preferences ...

    Merci tout de même à vous !

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Une autre methode est de chercher la 1ere classe/methode dans la pile d'appel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    StackTraceElement[] stack = Thread.currentThread().getStackTrace();
    String topClassname = stack[stack.length-1].getClassName();

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Points : 143
    Points
    143
    Par défaut
    Yeahhhhhhhhh

    Merci beaucoup !!!! Ca marche d'enfer ...

    Un petit coup de substring dessus pour avoir le dernier élément ... et HOP dansl a poche !!!

    Encore merci !

  8. #8
    Membre actif Avatar de schneidb
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 236
    Points : 240
    Points
    240
    Par défaut
    On peut aussi lancer une analyse du code et via reflection chercher celles qui ont des méthodes "main"

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2014, 09h35
  2. Classe principale pas trouvée par java webstart
    Par JCD21 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 15/04/2009, 17h33
  3. Imprimer directement depuis un programme java
    Par ptr83 dans le forum Langage
    Réponses: 2
    Dernier message: 23/11/2006, 15h44
  4. Réponses: 5
    Dernier message: 20/02/2006, 14h11
  5. Problème sur la commande COPY depuis un programme Java
    Par klereth dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 10/02/2006, 14h14

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