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

Développement Web en Java Discussion :

Récupération dossier du projet, System.getProperty ?


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Corée

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 253
    Par défaut Récupération dossier du projet, System.getProperty ?
    Bonjour,

    Mon projet marchait bien, je le transforme en Web Application et là cata !

    System.getProperty ("user.dir") me retourne "C:/Program Files/eclipse", au lieu du dossier courant de mon projet...

    J'ai affiché System.getProperties mais je n'ai pas moyen d'avoir le chemin de mon projet.

    Quelqu'un à une idée de comment faire ça ? Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Les problèmes de path sont toujours un peu délicats en Java. Peux-tu préciser ce que tu veux faire avec ce path ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Corée

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 253
    Par défaut
    Ouvrir des fichiers xml nécessaires au fonctionnement de l'application.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Oui, mais où sont-ils placés ?

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Si tes fichiers xml sont sous WEB-INF/classes, tu peux faire ceci pour y accèder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String filename="tonFichier.xml" ;
    ClassLoader classLoader = this.getClass().getClassLoader();
    File fileXml = new File(classLoader.getResource(filename).getFile());

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Corée

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 253
    Par défaut
    Merci pour ta réponse, mais ça ne fonctionne pas plus comme ça... NullPointerException.

    A la base je n'ai pas de dossier classes dans WEB-INF.

    A la base mon fichier XML est dans Projet/Resources/

    Je peux le mettre n'importe ou en fait je m'en fou un peu, du moment qu'il est accessible.

    Mon arborescence est standard:
    Projet/.settings
    Projet/build
    Projet/Resources
    Projet/src
    Projet/WebContent

    J'ai aussi trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String xmlFile = Thread.currentThread().getContextClassLoader().getResource("fichier.xml");
    Ca me retourne un null pointer aussi. Ou faut-il placer le fichier XML ? Est ce que ça marche aussi si je met un main et que je l'execute en Java Application au lieu de sur un serveur ?

    Merci

  7. #7
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tu dois avoir un répertoire classes sous build. Toutes les classes Java présentes sous src sont compilées dans ce répertoire classes et tous les fichiers de ressources présents sous src sont copiés dans ce répertoire classes.
    Et lors de la création du war, tout ce qui se trouve sous build/classes est automatiquement copié sous WEB-INF/classes.

    Donc, il faut mettre ton répertoire Resources sous src et modifier mon exemple de code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String filename="Resources/tonFichier.xml" ;
    ClassLoader classLoader = this.getClass().getClassLoader();
    File fileXml = new File(classLoader.getResource(filename).getFile());

Discussions similaires

  1. System.getProperty ("file.separator") et File.separator
    Par Bruno2000 dans le forum Langage
    Réponses: 15
    Dernier message: 18/06/2008, 14h13
  2. Récupération du flux audio system
    Par therafou dans le forum Windows
    Réponses: 1
    Dernier message: 26/11/2007, 21h06
  3. Que peut me renvoyer System.getProperty("os.name")
    Par Orian dans le forum Général Java
    Réponses: 7
    Dernier message: 04/04/2007, 18h26
  4. Projet-Systemes repartis
    Par godik dans le forum Développement
    Réponses: 3
    Dernier message: 27/10/2005, 09h12
  5. Formation AFPA Responsable projet systemes d'information
    Par anisotrope dans le forum Etudes
    Réponses: 5
    Dernier message: 16/09/2005, 12h47

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