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

ANT Java Discussion :

ANT et JUnit Problème de java.lang.ClassNotFoundException


Sujet :

ANT Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut ANT et JUnit Problème de java.lang.ClassNotFoundException
    Bonjour à tous,

    J'ai un petit soucis concernant Ant et l'utilisation de Junit. J'essaye de faire un fichier HTML grâce au reports de Junit au format XML. Mais dans le XML il me marque "java.lang.ClassNotFoundException" alors j'aimerais savoir à quoi c'est dû car je tourne en rond depuis un moment dessus.

    Je précise que lorsque j'utilise Junit via Eclipse, cela fonctionne parfaitement.

    Voilà le code ANT :
    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
     
    <property name="reports" value="reports"/>
    <property name="jar.junit" value="C:\Users\Jimmy\Desktop\eclipse\plugins\org.junit_4.8.1.v4_8_1_v20100427-1100\junit.jar"/>
    <property name="bin.dir"   value="../classes"/>
    <property name="src.dir"     value="../src"/>
     
    <target name="tests">
    		<mkdir dir="${reports}"/>
    		<junit printsummary="yes" haltonfailure="no" showoutput="yes">
    			<classpath>
    				<pathelement path="${jar.junit}"/>
    				<pathelement location="${bin}\iut.tests.*" />
    			</classpath>	
    			<formatter type="xml"/>
    			<batchtest todir="${reports}">
    				<fileset dir="${src.dir}">
    					<include name="**/*Test*.java"/>
    				</fileset>
    			</batchtest>
    		</junit>
    		<junitreport todir="${reports}">
    			<fileset dir="${reports}">
    				<include name="Test.xml"/>
    			</fileset>
    			<report format="frames" todir="${reports}"/>
    		</junitreport>
    	</target>
    Merci à vous

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour est ce le .jar junit-X.X.X.jar se trouve dans ton classpath ?
    Est ce que tu pourrais montrer le message d'erreur complet de ton exception afin qu'on puisse voir ce qui n'est pas trouvé dans le classpath ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,
    merci de votre réponse.

    Oui mon junit se trouve bien dans mon classpath

    Voilà les informations demandées :

    Alors voici le cmd où j'ai mis un trait rouge pour montrer que ça fail.



    Et voici un bout du fichier XML que me crée JUnit. Je vous send que la partie <error></error> qui est le même pour toutes les classes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <error message="iut.portemonnaie.test.ArgentTest" type="java.lang.ClassNotFoundException">java.lang.ClassNotFoundException: iut.portemonnaie.test.ArgentTest
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:264)
    </error>
    Merci

  4. #4
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Si j'ai compris ta logique, tu as ajouté les fichiers .class de tests unitaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    				<pathelement location="${bin}\iut.tests.*" />
    mais est ce que tu as ajouté les .class des fichiers sources que tu as à tester ?
    à supposer que lorsque tu as compilé tes fichiers .java (pas les tests unitaires), ces fichiers .class là se trouvent dans ${bin.dir}.
    alors ajoute un autre pathelement comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <pathelement location="${bin.dir}\*.class" />

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    En faite j'avais mis ça pour tester si ça changeait quelque chose de préciser le lieu des classes tests. Mais le résultat est toujours le même que le classpath soit en tant que variable d'environnement ou dans le xml.

    J'ai essayé de rajouter votre pathelement pour définir l'endroit des classes "parentes" aux tests mais cela ne change rien à mon problème.

    J'avoue que je suis un peu perdu là.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'ai résolu mon problème ! Il fallait que je rajoute un pathelement en direction de mes fichiers .java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <pathelement location="${src.dir}"/>

  7. #7
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Oui, c'était presque sûr que c'était un pathelement qui manquait
    Bah tant mieux si ton problème est résolu.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/03/2010, 21h01
  2. Réponses: 5
    Dernier message: 12/03/2009, 15h33
  3. java.lang.ClassNotFoundException Sitemesh problème
    Par reneguenon dans le forum Struts 1
    Réponses: 6
    Dernier message: 13/10/2008, 12h21
  4. [JUnit] JUnit + java.lang.ClassNotFoundException
    Par yozine dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 09/09/2008, 14h38

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