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 test par défaut avec Maven


Sujet :

Maven Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut Problème de test par défaut avec Maven
    Bonjour,

    j'essaye d'importer un projet dans netbeans à partir d'un pom.xml existant.
    après avoir indiquer le chemin de Maven dans netbeans, le projet se compile mais je rencontre deux types d'erreurs:

    1) le premier (en rapport avec les tests) est dû au fait que Maven lance les test en même temps que la compile. J'ai donc essayé de faire un click droit sur le projet --> custom --> goals --> skip tests et j'obtiens le message suivant
    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
    Scanning for projects...
    ------------------------------------------------------------------------
    BUILD FAILURE
    ------------------------------------------------------------------------
     
     
    You must specify at least one goal. Try 'mvn install' to build or 'mvn --help' for options 
    See http://maven.apache.org for more information.
     
     
    ------------------------------------------------------------------------
    For more information, run Maven with the -e switch
    ------------------------------------------------------------------------
    Total time: < 1 second
    Finished at: Fri Jun 10 11:54:31 CEST 2011
    Final Memory: 1M/15M
    2)Le deuxième est quand je ne skip pas les tests j'obtiens les messages d'rreurs suivants:

    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
    cd C:\DMP\kit-editeur-dmp; JAVA_HOME=C:\\Java\\jdk16025 C:\\apache-maven-2.0.11-bin\\apache-maven-2.0.11\\bin\\mvn.bat clean install
    Scanning for projects...
    ------------------------------------------------------------------------
    Building Unnamed - com.dmp.client:kit-editeur:jar:1.0.0
       task-segment: [clean, install]
    ------------------------------------------------------------------------
    [clean:clean]
    Deleting directory C:\DMP\kit-editeur-dmp\target
    [resources:resources]
    Using 'UTF-8' encoding to copy filtered resources.
    Copying 179 resources
    [compiler:compile]
    Compiling 3119 source files to C:\DMP\kit-editeur-dmp\target\classes
    [resources:testResources]
    Using 'UTF-8' encoding to copy filtered resources.
    Copying 1 resource
    [compiler:testCompile]
    Compiling 11 source files to C:\DMP\kit-editeur-dmp\target\test-classes
    [surefire:test]
    Surefire report directory: C:\DMP\kit-editeur-dmp\target\surefire-reports
     
    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running com.dmp.kit_editeur.pkcs12.PKCS12SignTest
    10 juin 2011 11:58:42 com.dmp.kit_editeur.util.Properties load
    INFO: Chargement du fichier config.properties
    Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.063 sec <<< FAILURE!
    Running com.dmp.kit_editeur.examples.util.ManifestXMLTest
    Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.281 sec <<< FAILURE!
    Running com.dmp.kit_editeur.examples.ConsultationTest
    10 juin 2011 11:58:42 com.dmp.kit_editeur.util.Properties load
    INFO: URL SERVEUR = https://dev1.lps.dmp.gouv.fr/si-dmp-server/v1/services
    10 juin 2011 11:58:42 org.springframework.context.support.AbstractApplicationContext prepareRefresh
    ...
    3) si malgré les erreurs de tests j'execute le projet j'obtiens le message d'erreur suivant:
    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
    cd C:\DMP\kit-editeur-dmp; JAVA_HOME=C:\\Java\\jdk16025 C:\\apache-maven-2.0.11-bin\\apache-maven-2.0.11\\bin\\mvn.bat -Dexec.classpathScope=runtime "-Dexec.args=-classpath %classpath com.dmp.kit_editeur.examples.PatientServiceClient" -Dexec.executable=C:\\Java\\jdk16025\\bin\\java.exe process-classes org.codehaus.mojo:exec-maven-plugin:1.2:exec
    Scanning for projects...
    ------------------------------------------------------------------------
    Building Unnamed - com.dmp.client:kit-editeur:jar:1.0.0
       task-segment: [process-classes, org.codehaus.mojo:exec-maven-plugin:1.2:exec]
    ------------------------------------------------------------------------
    [resources:resources]
    Using 'UTF-8' encoding to copy filtered resources.
    Copying 179 resources
    [compiler:compile]
    Nothing to compile - all classes are up to date
    [exec:exec]
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    	at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
    	at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
    	at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
    	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
    	at com.dmp.kit_editeur.util.Properties.<clinit>(Properties.java:27)
    	at com.dmp.kit_editeur.soapService.PatientService.<init>(PatientService.java:24)
    	at com.dmp.kit_editeur.examples.PatientServiceClient.init(PatientServiceClient.java:51)
    	at com.dmp.kit_editeur.examples.PatientServiceClient.main(PatientServiceClient.java:114)
    Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    	... 8 more
    ------------------------------------------------------------------------
    BUILD ERROR
    ------------------------------------------------------------------------
    Command execution failed.
     
    Embedded error: Process exited with an error: 1(Exit value: 1)
    ------------------------------------------------------------------------
    For more information, run Maven with the -e switch
    ------------------------------------------------------------------------
    Total time: 4 seconds
    Finished at: Fri Jun 10 12:05:19 CEST 2011
    Final Memory: 15M/36M
    ------------------------------------------------------------------------
    alors que je vois bien la classe class "org.slf4j.impl.StaticLoggerBinder" dans les dependance.

    pour plus d'information, j'ai mis le pom.xml en piéce jointe

    je sais que ce n'est pas evident, merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    suite au recommandation du http://www.slf4j.org/codes.html#no_static_mdc_binder J'ai decompresé le slf4j-1.6.1.zip et j'ai ajouté une nouvelle variable d'environement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SLF4J_HOME = C:\slf4j-1.6.1\slf4j-simple-1.6.1.jar
    mais ça n'a pas résolu le problème 3!

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2011
    Messages : 214
    Points : 338
    Points
    338
    Par défaut
    Bonjour,

    Il faudrait que tu ajoutes le binder SLF4J en dépendance de ton projet Maven.

    Par exemple,si tu veux utiliser "simple":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.6.1</version>
    </dependency>
    Ca te permettra normalement d'éviter le NoClassDefFoundError

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Pour le problème 1, il te faut spécifier une tâche pour Maven. Il faut que tu rajoutes le goal install (ou clean install si tu veux d'abord nettoyer les fichiers générés lors du dernier build).

    Pour le problème 2, tes tests unitaires échouent, il faut donc les corriger.

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    1) vous devez précisez un goal( ce que manifestement vous n'avez pas fait)
    2) des units tests ont échoué, corrigez les (target/surefire-report contient les rapports)
    3) votre pom définis slf4j et log4j en scope provided. Il me semble que exec maven plugin n'inclue pas les jar "provided" dans le classpath d'exécution.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2011
    Messages : 214
    Points : 338
    Points
    338
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    3) votre pom définis slf4j et log4j en scope provided. Il me semble que exec maven plugin n'inclue pas les jar "provided" dans le classpath d'exécution.
    Exact les dépendances "provided" ne sont utilisées que pour la compilation et le test.

    Et pour utilise Log4j en backend il vaut mieux utiliser le binder correspondant plutôt que "simple". Le scope "runtime" devrait faire l'affaire.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    Merci beaucoup Messieurs,

    1) & 3) j'ai choisi le goal "compile" et j'ai mis un skip tests,
    j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <dependency>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                        <version>1.6.1</version>
                        <scope>runtime</scope>
               </dependency>
    j'arrive à compiler le projet proprement sans les tests
    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
    cd C:\DMP\kit-editeur-dmp; JAVA_HOME=C:\\Java\\jdk16025 C:\\apache-maven-2.0.11-bin\\apache-maven-2.0.11\\bin\\mvn.bat -DskipTests=true compile
    Scanning for projects...
    ------------------------------------------------------------------------
    Building Unnamed - com.dmp.client:kit-editeur:jar:1.0.0
       task-segment: [compile]
    ------------------------------------------------------------------------
    [resources:resources]
    Using 'UTF-8' encoding to copy filtered resources.
    Copying 179 resources
    [compiler:compile]
    Nothing to compile - all classes are up to date
    ------------------------------------------------------------------------
    BUILD SUCCESSFUL
    ------------------------------------------------------------------------
    Total time: 3 seconds
    Finished at: Fri Jun 10 14:29:55 CEST 2011
    Final Memory: 14M/33M
    -----------------------------------------------------
    par contre au moment de l'execution j'obtiens quand même le message en rapport avec le org.slf4j.impl.StaticLoggerBinder et je ne le voie pas dans les dependences

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    Citation Envoyé par -gma- Voir le message
    Et pour utilise Log4j en backend il vaut mieux utiliser le binder correspondant plutôt que "simple". Le scope "runtime" devrait faire l'affaire.
    voilà ce que j'ai trouvé par rapport à ce problème :

    This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. This happens when no appropriate SLF4J binding could be found on the class path. Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

    C'est quoi le binder correspondant pour org.slf4j.impl.StaticLoggerBinder car je le retrouve dans la plupart des binder et que même avec slf4j-jdk14 ou slf4j-nop j'ai le même problème
    est ce que c'est dû au fait que je déclare les deux dependences log4j et org.slf4j
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <dependency>
    			<groupId>log4j</groupId>
    			<artifactId>log4j</artifactId>
    			<version>1.2.16</version>
    			<scope>provided</scope>
    	</dependency>
     
    	<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-jdk14</artifactId>
    			<version>1.6.1</version>
    			<scope>provided</scope>
    	</dependency>
    de toute façon à chaque fois j'ai testé avec chacune à part ou les deux en même temps

    merci encore pour votre aide

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    bien que j'ai testé les différents bending slf4j avec des scope différents cela ne change pas le problème

    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
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    	at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
    	at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
    	at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
    	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
    	at com.dmp.kit_editeur.util.Properties.<clinit>(Properties.java:27)
    	at com.dmp.kit_editeur.soapService.PatientService.<init>(PatientService.java:24)
    	at com.dmp.kit_editeur.examples.PatientServiceClient.init(PatientServiceClient.java:51)
    	at com.dmp.kit_editeur.examples.PatientServiceClient.main(PatientServiceClient.java:114)
    Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    	... 8 more

  10. #10
    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
    Bonjour,

    Est-ce que toutes les dépendances que tu ajoutes dans ton POM (log4j ou slf4j-simple) sont bien résolues ? C'est-à-dire, sont-elles présentes dans ton repository local ?

    Tu peux essayer les commandes liées au plugin maven-dependency-plugin [1] pour vérifier cela :

    - mvn dependency:resolve pour télécharger toutes des dépendances
    - mvn dependency:tree pour afficher ton graphe de dépendances

    Si les dépendances affichées par ces commandes ne correspondent pas à ce que tu vois dans ton POM, tu peux utiliser le plugin maven-help-plugin [2] pour afficher ton POM effectif, c'est-à-dire le POM complet avec les différents héritages et résolution de propriétés :

    - mvn help:effective-pom

    Cordialement.

    [1] http://maven.apache.org/plugins/mave...ndency-plugin/
    [2] http://maven.apache.org/plugins/maven-help-plugin/

  11. #11
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    j'ai le même problème, j'utilise le plugin eclipse maven

    [ERROR] Failed to execute goal on project kit-editeur: Could not resolve dependencies for project com.dmp.client:kit-editeur:jar:1.0.0: Failed to collect dependencies for [log4j:log4j:jar:1.2.16 (compile), org.slf4j:slf4j-jdk14:jar:1.5.2 (compile), junit:junit:jar:4.4 (test), apache-logging:commons-logging:jar:1.1.0.jboss (compile), javax.servlet:servlet-api:jar:2.5 (provided), org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.1.4 (provided), org.apache.cxf:cxf-rt-transports-http:jar:2.1.4 (provided), joda-time:joda-time:jar:1.6 (compile), opensamlmltooling:jar:1.1.0 (compile), opensaml:opensaml:jar:2.1.0 (compile), org.apache.ws.security:wss4j:jar:1.5.8 (compile), org.apache.commons:commons-codec:jar:1.3 (compile), org.apache.velocity:velocity:jar:1.6.3 (compile), opensaml:openws:jar:1.1.0 (compile), xalan:serializer:jar:2.7.1 (compile), org.bouncycastle:bcprov-jdk16:jar:1.45 (compile), org.bouncycastle:bctsp-jdk16:jar:1.45 (compile), xercesercesImpl:jar:2.9.1 (compile)]: Failed to read artifact descriptor for apache-logging:commons-logging:jar:1.1.0.jboss: Could not transfer artifact apache-logging:commons-logging:pom:1.1.0.jboss from/to cerner-release-external (http://repo.release.cerner.corp/external/repo): repo.release.cerner.corp: Unknown host repo.release.cerner.corp -> [Help 1]

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

Discussions similaires

  1. Problème d'encodage par défaut avec Eclipse/Pydev
    Par Tryph dans le forum Eclipse
    Réponses: 2
    Dernier message: 12/07/2014, 23h48
  2. [MySQL] Problème avec checkbox - cases cochées par défaut avec formulaire
    Par kenjiendo dans le forum PHP & Base de données
    Réponses: 65
    Dernier message: 21/08/2011, 14h36
  3. Réponses: 1
    Dernier message: 27/01/2010, 12h00
  4. Réponses: 1
    Dernier message: 25/09/2006, 09h50
  5. Bouton par défaut avec MessageDlg ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/04/2005, 19h28

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