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

Maven Java Discussion :

[Maven2] - Charger fichier externalisé dans le CLASSPATH pendant le JUnit de maven


Sujet :

Maven Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [Maven2] - Charger fichier externalisé dans le CLASSPATH pendant le JUnit de maven
    Bonjour,

    j'ai un problème sur Maven2.
    Je participe au développement d'une application web tournant sur JBoss. Elle se décompose en plusieurs projets Eclipse/Maven. Cette application accède à des ressources externalisées (non inclus dans les archives jar, war générées) afin de pouvoir les modifier facilement.
    Ces ressources sont donc chargées dans le CLASSPATH avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url = ClassLoader.getSystemResource("nomFichier.properties");
    Cela fonctionne parfaitement dans JBoss, car on a rajoute au CLASSPATH du run.bat, le répertoire contenant ce fichier.

    Le problème vient les tests unitaires JUnit que lance Maven quand on fait un "mvn clean install".
    Le test unitaire est bien lancé, mais il ne peut trouver la ressource, car à aucun endroit, on a précisé que le répertoire la contenant est dans le CLASSPATH.
    A noté, que le JUnit lancé par Eclipse plante au même niveau à mois que l'on rajoute le répertoire au CLASSPATH.

    Pour essayer de resoudre ce problème, j'ai essayé de créer un nouveau projet que j'appelle RESSOURCES qui contient son répertoire ressource Maven (par défaut src/main/resources). Ce répertoire contenant le fichier que je recherche dans le CLASSPATH. Je l'importe en tant que dépendance globale avec un scope de test. Résultat, le fichier de ressource est bien trouvé dans les JUnit d'Eclipse. Par contre, ca ne marche pas dans Maven, comme s'il ne prenait pas en compte le jar du projet RESSOURCES qui contient la ressource partagée.

    Ma question est donc, s'il y a moyen en modifiant le pom.xml de maven de définir un répertoire à inclure dans le CLASSPATH.
    Si ce n'est pas possible, alors vers qu'elle solution se tournait ?
    Je pensais être bien partie avec le projet RESSOURCES, mais j'ai l'impression que je tombe dans une impasse...

    Merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Personne n'a une idée

    Je veux juste savoir comment ajouter un répertoire au classpath, au moment des tests unitaires, pour que le chargement des ressources du classpath fonctionne ?

    J'ai beau chercher je ne trouve pas...

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Points : 1 524
    Points
    1 524
    Par défaut
    Met ton fichier dans src/main/resources

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 25
    Points : 8
    Points
    8
    Par défaut
    Je pense que ça marche aussi dans un repertoire scr/test/resources

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Evite le systemRsource et cherche plutot ta ressource avec le classloader courant. A mon avis, ça t'évitera ces problèmes. Le SystemResource utilise le classloader parent, et dans Maven, celui-ci ne doit contenir que les jars de Maven....

Discussions similaires

  1. Charger fichier texte dans une liste ?
    Par bahamut100 dans le forum C
    Réponses: 3
    Dernier message: 08/12/2009, 14h34
  2. Réponses: 3
    Dernier message: 02/11/2009, 21h40
  3. fichier jar dans le classpath
    Par sofiene D dans le forum Windows XP
    Réponses: 1
    Dernier message: 16/10/2009, 23h36
  4. Charger Fichiers XML dans une table avec SQL*LOADER
    Par devdev2003 dans le forum SQL
    Réponses: 2
    Dernier message: 14/01/2008, 10h40
  5. Fichier introuvable dans le classpath
    Par rozwel dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 06/12/2007, 10h20

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