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 :

Récupérer le path du .java d'une classe


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Par défaut Récupérer le path du .java d'une classe
    Y a-t'il moyen de faire cela ? Si oui comment ?
    Merci beaucoup

  2. #2
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String path=new File(".").getAbsolutePath();
    Voila voilaaa

    Fred

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Par défaut
    Oui merci, mais cela me donne uniquement le répertoire de travaille de mon projet, j'aimerai savoir si par exemple ma classe se trouve dans un jar de mon classpath ou dans un autre répertoire de mon classpath... Tu vois le genre ?
    Je connais deja la méthode avec le ClassLoader.getSystemRessources() mais elle ne convient pas vraiment, mais dans le principe c'est pareil...

  4. #4
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Déjà il faut que les sources soient disponibles dans le jar, ensuite il faudrait connaitre leurs emplacements dans ce dernier...

    Ensuite tu peux t'en sortir avec ClassLoader.getRessources() justement...

    a++

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Par défaut
    Ok j'avais cette solution mais j'espérais qu'un outil existait pour le faire plus dynamiquement... Tant pis...
    Encore une question avec le ClassLoader.getSystemRessources() tu ne peux que préciser le répertoire et pas le nom de la classe, n'est ce pas ? ce qui est très embetement non ? ou je me trompe ?
    Merci

  6. #6
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Shiftane
    Encore une question avec le ClassLoader.getSystemRessources() tu ne peux que préciser le répertoire et pas le nom de la classe, n'est ce pas ? ce qui est très embetement non ? ou je me trompe ?
    Tu dois préciser le chemin complet vers la resource.
    Mais si tu connais le répertoire de base de tes sources et le type de ta classe je ne vois pas où est le problème puisque tu peux facilement reconstruire le tout, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public static URL getSource(String sourceDir, Class type) {
            return type.getClassLoader().getResource(
                    sourceDir + type.getName().replace(".","/") + ".java"); 
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    getSource(
          "src/",              // Répertoire dans le jar
          MaClasse.class  // Source à rechercher
    );
    a++

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut Pas sous Ubuntu 14
    Citation Envoyé par mavina Voir le message
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String path=new File(".").getAbsolutePath();
    Voila voilaaa

    Fred
    Bonjour,
    La méthode marche bien sous Windows mais pas sous Ubuntu 14.10.
    Sous WIndows ça donne le répertoire dans lequel le jar est copié mais sous Linux ça donne :
    - À travers l'IDE NetBeans le chemin du fichier "." dans Netbeans (correct donc).
    - Si on place le jar dans un répertoire quelconque ça renvoie le chemin dans mon dossier personnel.

    J'essaye avec les autres méthodes.

    A+

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

Discussions similaires

  1. [2.3.2][Java] Utiliser une classe java
    Par CCCMA dans le forum BIRT
    Réponses: 22
    Dernier message: 19/05/2009, 09h33
  2. Réponses: 1
    Dernier message: 01/10/2008, 15h25
  3. Réponses: 8
    Dernier message: 20/01/2008, 12h09
  4. Réponses: 11
    Dernier message: 30/08/2007, 17h20
  5. récupérer le nom des attributs d'une classe
    Par danyboy85 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 22/06/2006, 11h42

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