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 :

ClassNotFoundException après un mvn clean


Sujet :

Maven Java

  1. #1
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Points : 129
    Points
    129
    Par défaut ClassNotFoundException après un mvn clean
    Bonjour à tous !

    j'ai un projet eclipse généré avec maven. Le projet est bien avancé et jusqu'à présent je faisais des mvn install pour générer mon war que je copiais ensuite sur mon serveur.

    Sauf qu'aujourd'hui je me suis rendue compte qu'il y avait des classes qui étaient dans le war alors qu'elles n'avaient plus rien à y faire vu qu'elles n'existent plus dans mon projet. Je me suis dit que c'était des .class qui restaient des anciennes version de l'appli.

    J'ai donc fais un mvn clean pour faire un peu de ménage.
    Sauf que depuis, plus rien de marche : mvn compile est dans les choux et par voie de conséquence, toutes les autres commandes qui font appel à compile aussi...
    voici les traces d'erreurs de la console :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    MacBook-Statlife:~/Documents/statlife/periode2/Maven/prototypeE4N$ mvn compile
    [INFO] Scanning for projects...
    [WARNING] 
    [WARNING] Some problems were encountered while building the effective model for fr.statlife:prototypeE4N:war:1.0-SNAPSHOT
    [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 218, column 12
    [WARNING] 
    [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
    [WARNING] 
    [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
    [WARNING] 
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Prototype E4N 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ prototypeE4N ---
    [WARNING] Using platform encoding (MacRoman actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 4 resources
    [INFO] Copying 14 resources
    [INFO] 
    [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ prototypeE4N ---
    [WARNING] File encoding has not been set, using platform encoding MacRoman, i.e. build is platform dependent!
    [INFO] Compiling 52 source files to /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/target/classes
    [INFO] -------------------------------------------------------------
    [ERROR] COMPILATION ERROR : 
    [INFO] -------------------------------------------------------------
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionDaoImpl.java:[12,1] cannot find symbol
    symbol: class Repository
    @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceInscriptionImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceInscriptionImpl.java:[20,1] cannot find symbol
    symbol: class Service
    @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceLienBaseE4NImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceLienBaseE4NImpl.java:[15,1] cannot find symbol
    symbol: class Service
    @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/LienBaseE4NDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/LienBaseE4NDaoImpl.java:[19,1] cannot find symbol
    symbol: class Repository
    @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/MembreDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/MembreDaoImpl.java:[19,1] cannot find symbol
    symbol: class Repository
    @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ListeQuestionnaireDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ListeQuestionnaireDaoImpl.java:[19,1] cannot find symbol
    symbol: class Repository
    @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceIdentificationImpl.java:[5,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceIdentificationImpl.java:[12,1] cannot find symbol
    symbol: class Service
    @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionnaireDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionnaireDaoImpl.java:[19,1] cannot find symbol
    symbol: class Repository
    @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceListeQuestionnaireImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceListeQuestionnaireImpl.java:[15,1] cannot find symbol
    symbol: class Service
    @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPage404.java:[3,25] package javax.servlet.http does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPageEspacePrive.java:[3,25] package javax.servlet.http does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceQuestionnaireImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceQuestionnaireImpl.java:[18,1] cannot find symbol
    symbol: class Service
    @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceMembreImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceMembreImpl.java:[15,1] cannot find symbol
    symbol: class Service
    @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ReponseDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ReponseDaoImpl.java:[12,1] cannot find symbol
    symbol: class Repository
    @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPage404.java:[18,75] cannot find symbol
    symbol  : variable HttpServletResponse
    location: class fr.statlife.protoE4N.pages.erreur.ErrorPage404
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPageEspacePrive.java:[18,75] cannot find symbol
    symbol  : variable HttpServletResponse
    location: class fr.statlife.protoE4N.pages.erreur.ErrorPageEspacePrive
    [INFO] 28 errors 
    [INFO] -------------------------------------------------------------
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 5.106s
    [INFO] Finished at: Mon Jul 18 10:27:55 CEST 2011
    [INFO] Final Memory: 11M/81M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project prototypeE4N: Compilation failure: Compilation failure:
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionDaoImpl.java:[12,1] cannot find symbol
    [ERROR] symbol: class Repository
    [ERROR] @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceInscriptionImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceInscriptionImpl.java:[20,1] cannot find symbol
    [ERROR] symbol: class Service
    [ERROR] @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceLienBaseE4NImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceLienBaseE4NImpl.java:[15,1] cannot find symbol
    [ERROR] symbol: class Service
    [ERROR] @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/LienBaseE4NDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/LienBaseE4NDaoImpl.java:[19,1] cannot find symbol
    [ERROR] symbol: class Repository
    [ERROR] @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/MembreDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/MembreDaoImpl.java:[19,1] cannot find symbol
    [ERROR] symbol: class Repository
    [ERROR] @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ListeQuestionnaireDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ListeQuestionnaireDaoImpl.java:[19,1] cannot find symbol
    [ERROR] symbol: class Repository
    [ERROR] @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceIdentificationImpl.java:[5,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceIdentificationImpl.java:[12,1] cannot find symbol
    [ERROR] symbol: class Service
    [ERROR] @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionnaireDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/QuestionnaireDaoImpl.java:[19,1] cannot find symbol
    [ERROR] symbol: class Repository
    [ERROR] @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceListeQuestionnaireImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceListeQuestionnaireImpl.java:[15,1] cannot find symbol
    [ERROR] symbol: class Service
    [ERROR] @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPage404.java:[3,25] package javax.servlet.http does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPageEspacePrive.java:[3,25] package javax.servlet.http does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceQuestionnaireImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceQuestionnaireImpl.java:[18,1] cannot find symbol
    [ERROR] symbol: class Service
    [ERROR] @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceMembreImpl.java:[8,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/metier/ServiceMembreImpl.java:[15,1] cannot find symbol
    [ERROR] symbol: class Service
    [ERROR] @Service
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ReponseDaoImpl.java:[7,37] package org.springframework.stereotype does not exist
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/data/dao/jpa/ReponseDaoImpl.java:[12,1] cannot find symbol
    [ERROR] symbol: class Repository
    [ERROR] @Repository
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPage404.java:[18,75] cannot find symbol
    [ERROR] symbol  : variable HttpServletResponse
    [ERROR] location: class fr.statlife.protoE4N.pages.erreur.ErrorPage404
    [ERROR] /Users/mathildepellerin/Documents/statlife/periode2/Maven/prototypeE4N/src/main/java/fr/statlife/protoE4N/pages/erreur/ErrorPageEspacePrive.java:[18,75] cannot find symbol
    [ERROR] symbol  : variable HttpServletResponse
    [ERROR] location: class fr.statlife.protoE4N.pages.erreur.ErrorPageEspacePrive
    [ERROR] -> [Help 1]
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    D'après les traces, c'est le package spring qui est dans les choux. La dernière ligne qui est un lien vers le wiki maven le confirme en disant que ce genre d'exception apparait quand un plugin merde.
    Bon, sauf qu'avant le mvn clean, y'avait aucun souci. Donc j'imagine que le clean à supprimer quelque chose qu'il devait pas, mais quoi?

    Est ce que quelqu'un a déjà eu ce genre d'erreur et saurait me dire comment corriger le tir?
    Car là, après quelques essais infructueux, mon projet eclipse marche plus non plus !
    Merci d'avance pour vos conseils.

  2. #2
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Points : 129
    Points
    129
    Par défaut
    bon, j'ai résolu le problème en créant un autre projet avec le même archetype, puis en copiant le pom et toutes les sources dans ce nouveau projet. Ensuite j'ai compilé, et copié l'ensemble des .class obtenus dans le target de l'ancien projet et tout est rentré dans l'ordre.

    Cela dit, j'aimerais bien comprendre ce qu'il c'est passé... Il me semblait que le mvn clean était censé supprimer les .class du target, mais que faire ensuite un mvn compile devait tout recréer, non?

  3. #3
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Points : 129
    Points
    129
    Par défaut
    je fais remonter un peu le sujet car ça m'embête quand même de pas pouvoir utiliser la commande mvn clean : j'ai fait d'autres tests, et dès que je l'utilise sur une copie de mon projet (maintenant j'évite de le faire directement sur le projet) j'obtiens les mêmes erreurs.
    Après le clean, le package org.springframework.stereotype n'existe plus ou n'est plus visible...

    [EDIT : avancée]
    j'ai un peu avancé grâce à un post sur stackoverflow : en supprimant le scope runtime sur spring dans mon pom, je n'ai plus l'erreur de package spring manquant.

    J'avais une erreur du même type sur le package javax.servlet.http qui est présent dans le serveur Jetty que j'utilise pour les tests. Pour ne plus avoir l'erreur, il fallait aussi supprimer le scope test sur jetty. Par contre ce dernier point me convient pas : ça me gène de devoir embarquer le serveur jetty (aussi léger qu'il soit) dans mon appli pour la déployer sur un serveur tomcat !
    Si quelqu'un a une idée pour corriger ce problème de package perdu sans enlever le scope test sur jetty, je suis preneuse

    voici mon pom après les modifs :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>fr.statlife</groupId>
    	<artifactId>prototypeE4N</artifactId>
    	<packaging>war</packaging>
    	<version>1.0-SNAPSHOT</version>
    	<name>Prototype E4N</name>
     
    	<!-- Ajout de repositories -->
    	<repositories>
    		<repository>
    			<id>jboss</id>
    			<name>JBoss Repository</name>
    			<url>https://repository.jboss.org/nexus/content/groups/public/</url>
    		</repository>
    		<repository>
    			<id>wiquery-maven-repo</id>
    			<name>WiQuery repository</name>
    			<url>https://wiquery.googlecode.com/svn/repo/</url>
    		</repository>
    	</repositories>
     
    	<dependencies>
    		<!-- WICKET DEPENDENCIES -->
    		<dependency>
    			<groupId>org.apache.wicket</groupId>
    			<artifactId>wicket</artifactId>
    			<version>${wicket.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.wicket</groupId>
    			<artifactId>wicket-spring</artifactId>
    			<version>${wicket.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.wicket</groupId>
    			<artifactId>wicket-extensions</artifactId>
    			<version>${wicket.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.wicket</groupId>
    			<artifactId>wicket-datetime</artifactId>
    			<version>${wicket.version}</version>
    		</dependency>
     
    		<!-- LOGGING DEPENDENCIES - LOG4J -->
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-api</artifactId>
    			<version>${slf4j.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-log4j12</artifactId>
    			<version>${slf4j.version}</version>
    			<scope>runtime</scope>
    		</dependency>
    		<!-- since we want the jcl over slf4j, we need to bump up the version of 
    			slf4j-api that wicket brings in -->
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>jcl-over-slf4j</artifactId>
    			<version>${slf4j.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>log4j</groupId>
    			<artifactId>log4j</artifactId>
    			<version>1.2.14</version>
    			<scope>runtime</scope>
    		</dependency>
     
    		<!-- DRIVER JDBC - POSTGRESQL -->
    		<dependency>
    			<groupId>postgresql</groupId>
    			<artifactId>postgresql</artifactId>
    			<version>9.0-801.jdbc4</version>
    		</dependency>
     
    		<!-- Proxy JDBC (pour avoir accès à l'ensemble des requêtes SQL) - P6Spy -->
    		<dependency>
    			<groupId>p6spy</groupId>
    			<artifactId>p6spy</artifactId>
    			<version>1.3</version>
    			<scope>test</scope>
    		</dependency>
     
    		<!-- Spring Deps -->
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-context</artifactId>
    			<version>${org.springframework.version}</version>
    			<!-- <scope>runtime</scope> -->
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-core</artifactId>
    			<version>${org.springframework.version}</version>
    			<exclusions>
    				<exclusion>
    					<groupId>commons-logging</groupId>
    					<artifactId>commons-logging</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-orm</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-tx</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-web</artifactId>
    			<version>${org.springframework.version}</version>
    			<!-- <scope>runtime</scope> -->
    		</dependency>
     
    		<dependency>
    			<groupId>commons-dbcp</groupId>
    			<artifactId>commons-dbcp</artifactId>
    			<version>1.4</version>
    		<!-- 	<scope>runtime</scope> -->
    		</dependency>
     
    		<!-- JPA -->
    		<!-- Hibernate impl -->
    		<dependency>
    			<groupId>org.hibernate</groupId>
    			<artifactId>hibernate-entitymanager</artifactId>
    			<version>3.5.6-Final</version>
    		</dependency>
     
    		<dependency>
    			<groupId>org.mortbay.jetty</groupId>
    			<artifactId>jetty</artifactId>
    			<version>${jetty.version}</version>
    			<!-- <scope>test</scope> -->
    		</dependency>
     
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.8.1</version>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.mockito</groupId>
    			<artifactId>mockito-core</artifactId>
    			<version>1.8.2</version>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-test</artifactId>
    			<version>${org.springframework.version}</version>
    			<scope>test</scope>
    		</dependency>
     
    		<!-- JQuery -->
    		<!-- wiQuery Framework -->
     
    		<dependency>
    			<groupId>org.odlabs.wiquery</groupId>
    			<artifactId>wiquery</artifactId>
    			<version>1.2.3</version>
    		</dependency>
    	</dependencies>
     
    	<build>
    		<resources>
    			<resource>
    				<directory>src/main/resources</directory>
    				<includes>
    					<include>**</include>
    				</includes>
    				<excludes>
    					<exclude>**/*.java</exclude>
    				</excludes>
    			</resource>
    			<resource>
    				<directory>src/main/java</directory>
    				<includes>
    					<include>**</include>
    				</includes>
    				<excludes>
    					<exclude>**/*.java</exclude>
    				</excludes>
    			</resource>
    		</resources>
    		<testResources>
    			<testResource>
    				<directory>src/test/java</directory>
    				<includes>
    					<include>**</include>
    				</includes>
    				<excludes>
    					<exclude>**/*.java</exclude>
    				</excludes>
    			</testResource>
    			<testResource>
    				<directory>src/test/resources</directory>
    				<includes>
    					<include>**</include>
    				</includes>
    				<excludes>
    					<exclude>**/*.java</exclude>
    				</excludes>
    			</testResource>
    		</testResources>
     
    		<plugins>
    			<plugin>
    				<inherited>true</inherited>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<configuration>
    					<source>1.5</source>
    					<target>1.5</target>
    				</configuration>
    			</plugin>
    			<plugin>
    				<groupId>org.mortbay.jetty</groupId>
    				<artifactId>maven-jetty-plugin</artifactId>
    				<version>${jetty.version}</version>
    			</plugin>
    			<plugin>
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>sonar-maven-plugin</artifactId>
    				<version>2.0-beta-2</version>
    			</plugin>
    		</plugins>
    	</build>
     
    	<properties>
    		<slf4j.version>1.5.11</slf4j.version>
    		<wicket.version>1.4.17</wicket.version>
    		<jetty.version>6.1.25</jetty.version>
    		<org.springframework.version>3.0.4.RELEASE</org.springframework.version>
    	</properties>
     
    </project>

  4. #4
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    En lisant en large ton pb

    l'erreur est normal, si tu as un scope runtime sur Spring, le jar n'est pas pris en compte lors de la compilation du build, mais embarqué dans ton war pour être utilisé au runtime de ton application.

    Par défaut, le scope est en compile, si tu mets un scope test, le jar sera utilisé uniquement lors de la phase de test et n'est pas embarqué dans ton war.

    Pour javax.servlet, tu n'es pas obligé d'utiliser la distrib de jetty, tu pouvais tres bien utiliser celle d'apache tomcat, apres si dans la phase du build ca plantait, c'est que des classes utilisaient l'api servlet.

  5. #5
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Points : 129
    Points
    129
    Par défaut
    oui, le problème de spring est résolu en effet en enlevant la propriété runtime.

    et oui, j'ai quelques classes qui utilisent l'API javax.servets, mai je n'ai pas spécialement choisi la distrib de jetty en fait. J'ai pas eu de problème d'import quand je m'en suis servi et vu que le nom du package commençait par javax, j'ai naïvement pensé qu'il faisait partie de la distrib de base de java . Comme il était inclu dans jetty, j'avais aucun souci jusqu'à se que je tente le clean...

    Mais du coup, pour inclure ce jar sans inclure spécialement jetty (qui n'est inclu que pour les tests), faut passer par le pom ou juste sortir le jar de la librairie jetty et l'inclure dans le classpath directement?
    ce jar n'est-il pas déjà présent dans le serveur tomcat par défaut? (je prends le risque de dire des conneries grosses comme moi en posant ces questions, mais au moins je me coucherai moins bête avec les réponses )

  6. #6
    Nouveau membre du Club Avatar de greaumaxime
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2003
    Messages : 27
    Points : 36
    Points
    36
    Par défaut
    Mais du coup, pour inclure ce jar sans inclure spécialement jetty (qui n'est inclu que pour les tests), faut passer par le pom ou juste sortir le jar de la librairie jetty et l'inclure dans le classpath directement?
    De quel JAR parles-tu ? S'il s'agit du JAR pour l'API Servlet et que j'ai bien compris ton message, tu utilises Tomcat qui contient déjà cette librairie ($TOMCAT_HOME/lib/servlet-api.jar).

    Tu n'as donc pas besoin de l'inclure dans ton WAR. Si jamais tu veux faire référence à cette API (Servlet) directement dans ton POM, tu peux utiliser le scope provided qui signifie que tu as besoin de la bibliothèque Java pour compiler et tester mais que cette bibliothèque n'a pas besoin d'être importées dans ton WAR puisqu'elle sera présente dans le container Web (ici Tomcat).

Discussions similaires

  1. Erreur JVM mvn clean install
    Par Cash-Money dans le forum Maven
    Réponses: 7
    Dernier message: 02/06/2015, 14h16
  2. Problème avec mvn clean install
    Par berty_bb dans le forum Maven
    Réponses: 3
    Dernier message: 15/12/2011, 22h05
  3. Problème avec mvn clean
    Par chady dans le forum Maven
    Réponses: 2
    Dernier message: 07/03/2011, 01h47
  4. Réponses: 4
    Dernier message: 24/08/2010, 16h23
  5. mvn clean install
    Par aymen83 dans le forum Maven
    Réponses: 0
    Dernier message: 13/11/2008, 11h52

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