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 :

Problème de context Spring avec les différents répertoires main et test


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut Problème de context Spring avec les différents répertoires main et test
    Bonjour à tous,

    Je suis actuellement en train d'adapter mon application Web Spring à la structure Maven.

    Au début, l'ensemble de mes fichiers de configuration Spring était donc dans le répertoire /main/resources/spring/. L'application marchait très bien.

    Pour gérer des fichiers de configuration par environnement, j'ai suivi cet article qui propose de créer des profiles

    Dans mon répertoire resouces, je met tous les fichiers commun quels que soit l'environnement.
    Dans les répertoires resources_test et resources_dev, je met le fichier specific (Typiquement la connexion à la base)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <profiles>
        <profile>
          <id>dev</id>
          <activation>
            <activeByDefault>true</activeByDefault>
          </activation>
          <build>
            <resources>
              <resource>
                <directory>${basedir}/src/main/resources_dev</directory>
              </resource>
            </resources>
          </build>
        </profile>
        <profile>
          <id>test</id>
          <build>
            <resources>
              <resource>
                <directory>${basedir}/src/main/resources_test</directory>
              </resource>
            </resources>
          </build>
        </profile>
      </profiles>
    Le problème, c'est que je pense que je n'utilise pas la bonne instruction dans mon fichier web.xml.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    		classpath*:applicationContext*.xml
    		</param-value>
    	</context-param>
    Résultat, mon application ne prend que le fichier spécifique et pas les fichiers communs. Il n'arrive pas à charger les différents beans du context Spring (managers, dao, etc.)

    Avez-vous une idée?


    Dans le même genre, mes classes de test unitaire placé dans le répertoire test/java n'ont accès qu'au resource du répertoire test alors que je voudrais pouvoir utiliser les fichiers de configuration commun .


    D'avance merci pour vos réponses

  2. #2
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    J'ai résolu en partie mon problème en définissant 2 ressources:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
        <profile>
          <id>dev</id>
          <activation>
            <activeByDefault>true</activeByDefault>
          </activation>
          <build>
            <resources>
               <resource>
    	         <directory>${basedir}/src/main/resources</directory>
    	       </resource>
              <resource>
                <directory>${basedir}/src/main/resources_dev</directory>
              </resource>
            </resources>
          </build>
        </profile>
        <profile>
          <id>test</id>
          <build>
            <resources>
               <resource>
    	         <directory>${basedir}/src/main/resources</directory>
    	       </resource>
              <resource>
                <directory>${basedir}/src/main/resources_test</directory>
              </resource>
            </resources>
          </build>
        </profile>
    Mon problème venait aussi du fait que je ne faisais pas de "mvn clean" de mon projet avant de changer de profil.


    Par contre, pour mes tests unitaires situés dans le répertoire test/, je n'arrive toujours pas à trouver un moyen de spécifier que j'ai besoin des fichiers resources situé dans la partie, avez-vous des idées?

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Up!!

    Personne ne sait comment utiliser les mêmes fichiers de configuration Spring en test et en normal?

  4. #4
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut structure Maven classique
    src/main/java (packages des classes applicatives)
    src/main/resources (fichiers spring, pas dans un sous-répertoire)
    src/test/java (packages des classes de test)

    => inutile de préciser quoi que ce soit (resources ou autres) dans le pom.xml

  5. #5
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Avec cette structure de répertoire, les test unitaire échoue, car il ne trouve aucun fichier de configuration de context.


    Dans le web.xml

    Est-ce que mon instruction est la bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    		classpath*:applicationContext*.xml
    		</param-value>
    	</context-param>

  6. #6
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut configuration de spring
    Chez nous, le web.xml est configuré comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    			classpath:applicationContext-environment.xml
    			classpath:applicationContext-remoting.xml
    			classpath:applicationContext-scheduling.xml
    		</param-value>
    	</context-param>
    => pas d'étoile après "classpath" ; fichiers placés dans la racine d'un source folder.

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

Discussions similaires

  1. problèmes avec les différentes version de JVM & JDK
    Par Jcpan dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 02/01/2009, 18h01
  2. Problème tout bête (normallement :) ) avec les date/time
    Par KuBi4K dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/06/2007, 20h19
  3. [Cookies] problème d'en-tête avec les cookies
    Par weldata dans le forum Langage
    Réponses: 1
    Dernier message: 18/05/2007, 22h28
  4. [Avis aux pros !] Problèmes de la VCL avec les threads
    Par benj63 dans le forum C++Builder
    Réponses: 3
    Dernier message: 17/02/2006, 22h38
  5. Problème sur classe Transformer avec les <!--
    Par tykool dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/01/2006, 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