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

avec Java Discussion :

Pb : NoClassDefFoundError (1ère tentative de création d'un jar)


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Enseignant chercheur retraitée
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant chercheur retraitée

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Points : 19
    Points
    19
    Par défaut Pb : NoClassDefFoundError (1ère tentative de création d'un jar)
    Bonjour,

    Pour ma première tentative de création d'un jar, je bute sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception in thread "main" java.lang.NoClassDefFoundError:
     fr/ens-lyon/jb/admin/Start
    Contexte :
    - Développement sous Eclipse : en tant qu'application Java, admin tourne
    - Utilisation de jdk1.6.0_26
    - Le contenu de mes répertoires
    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
     Répertoire de C:\PourJar\fr.ens-lyon.jb\admin
     
    04/08/2011  09:45    <REP>          .
    04/08/2011  09:45    <REP>          ..
    04/08/2011  09:35           529*981 admin.jar
    04/08/2011  08:37             6*572 MainContent.class
    04/08/2011  09:34                87 MANIFEST.MF
    04/08/2011  08:37             2*427 MenuTree.class
    04/08/2011  08:37               752 PanRacine.class
    04/08/2011  08:37             3*717 PanRequete.class
    04/08/2011  08:37             2*829 PanTestEnCours.class
    04/08/2011  09:45    <REP>          resources
    04/08/2011  08:37               902 Rubrique.class
    04/08/2011  08:37               490 Start$1.class
    04/08/2011  08:37             2*194 Start.class
    04/08/2011  08:37             5*769 Utils.class
                  11 fichier(s)          555*720 octets
                   3 Rép(s)  104*058*220*544 octets libres

    Le fichier MANIFEST.MF :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    Created-By: Author
    Main-Class: fr.ens-lyon.jb.admin.Start
    La création du jar

    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:\PourJar\fr.ens-lyon.jb\admin>
    
    >jar cvfm admin.jar MANIFEST.MF -C . .
    
    manifest ajouté
    ajout : MainContent.class (entrée = 6572) (sortie = 3264) (50% compressés)
    ajout : MANIFEST.MF (entrée = 87) (sortie = 84) (3% compressés)
    ajout : MenuTree.class (entrée = 2427) (sortie = 1236) (49% compressés)
    ajout : PanRacine.class (entrée = 752) (sortie = 456) (39% compressés)
    ajout : PanRequete.class (entrée = 3717) (sortie = 1978) (46% compressés)
    ajout : PanTestEnCours.class (entrée = 2829) (sortie = 1595) (43% compressés)
    ajout : resources/ (entrée = 0) (sortie = 0) (0% stocké)
    ajout : resources/html/ (entrée = 0) (sortie = 0) (0% stocké)
    ajout : resources/html/article.html (entrée = 314) (sortie = 227) (27% compressés)
    ajout : resources/html/notice.html (entrée = 313) (sortie = 227) (27% compressés)
    ajout : resources/html/oeuvre.html (entrée = 315) (sortie = 227) (27% compressés)
    ajout : resources/html/page.html (entrée = 312) (sortie = 226) (27% compressés)
    ajout : resources/html/personne.html (entrée = 317) (sortie = 228) (28% compressés)
    ajout : resources/html/racine.html (entrée = 655) (sortie = 410) (37% compressés)
    ajout : resources/html/requete.html (entrée = 507) (sortie = 339) (33% compressés)
    ajout : resources/html/texte.html (entrée = 312) (sortie = 225) (27% compressés)
    ajout : resources/html/volume.html (entrée = 315) (sortie = 226) (28% compressés)
    ajout : resources/images/ (entrée = 0) (sortie = 0) (0% stocké)
    ajout : resources/images/ctfTxt.png (entrée = 105462) (sortie = 85902) (18% compressés)
    ajout : resources/images/ctlf_accueil.jpg (entrée = 103236) (sortie = 102973) (0% compressés)
    ajout : resources/images/logo.png (entrée = 315051) (sortie = 315151) (0% compressés)
    ajout : resources/images/logoCtlf.gif (entrée = 4659) (sortie = 4560) (2% compressés)
    ajout : resources/images/logo_ctlf_pti.gif (entrée = 688) (sortie = 591) (14% compressés)
    ajout : resources/images/trbleudroite.gif (entrée = 852) (sortie = 466) (45% compressés)
    ajout : resources/inits/ (entrée = 0) (sortie = 0) (0% stocké)
    ajout : resources/inits/mainMenu (entrée = 838) (sortie = 285) (65% compressés)
    ajout : Rubrique.class (entrée = 902) (sortie = 453) (49% compressés)
    ajout : Start$1.class (entrée = 490) (sortie = 322) (34% compressés)
    ajout : Start.class (entrée = 2194) (sortie = 1247) (43% compressés)
    ajout : Utils.class (entrée = 5769) (sortie = 2750) (52% compressés)
    Le .jar est bien là !!!
    [CODE] Répertoire de C:\PourJar\fr.ens-lyon.jb\admin

    04/08/2011 09:45 <REP> .
    04/08/2011 09:45 <REP> ..
    04/08/2011 10:04 529*981 admin.jar
    04/08/2011 08:37 6*572 MainContent.class
    04/08/2011 09:34 87 MANIFEST.MF
    04/08/2011 08:37 2*427 MenuTree.class
    04/08/2011 08:37 752 PanRacine.class
    04/08/2011 08:37 3*717 PanRequete.class
    04/08/2011 08:37 2*829 PanTestEnCours.class
    04/08/2011 09:45 <REP> resources
    04/08/2011 08:37 902 Rubrique.class
    04/08/2011 08:37 490 Start$1.class
    04/08/2011 08:37 2*194 Start.class
    04/08/2011 08:37 5*769 Utils.class
    11 fichier(s) 555*720 octets
    3 Rép(s) 104*057*683*968 octets libres

    Tentative d'execution ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C:\PourJar\fr.ens-lyon.jb\admin>java -jar admin.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: fr/ens-lyon/jb/admin/Start
    Caused by: java.lang.ClassNotFoundException: fr.ens-lyon.jb.admin.Start
            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)
    Could not find the main class: fr.ens-lyon.jb.admin.Start. Program will exit.

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Agréable un problème bien décris Peut-on voir la classe Start, surtout dans quel package elle se situe ?
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Personnellement, je recommanderais carrément d'apprendre la notion de package Java avant d'essayer de faire des .jar. Sinon ça va être un dialogue de sourds -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Femme Profil pro
    Enseignant chercheur retraitée
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant chercheur retraitée

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Merci de vos réponses.

    Pour répondre à Thelvin
    -> c'est ce que je suis en train d'essayer de faire : apprendre.
    Mon problème est de savoir par ou commencer !!!

    Pour la classe Start :
    (lorsque je travaille sous Eclipse, elle est dans un Java Project
    nommé fr.ens-lyon.ctlf)
    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
     
    import java.awt.Toolkit;
    import javax.swing.JFrame;
    import javax.swing.JSplitPane;
    import javax.swing.UIManager;
     
    public class Start {
    	    private static boolean useSystemLookAndFeel = false;
    	/**
             * Démarre l'application Admin
             */
    	public static void main(String[] args) {
    	     javax.swing.SwingUtilities.invokeLater(new Runnable() {
    	            @Override
    				public void run() {
    	            	createAndShowGUI();
    	            }
    	        });
    	}
    	private static void createAndShowGUI() {
    	   	/** AFFICHAGE PRINCIPAL */
            if (useSystemLookAndFeel) {
                try {
                    UIManager.setLookAndFeel(
                        UIManager.getSystemLookAndFeelClassName());
                } catch (Exception e) {
                    System.err.println("Problème avec le SystemLookAndFeel.");
                }
            }
     
            UIManager.put("swing.boldMetal", Boolean.FALSE);
            JFrame.setDefaultLookAndFeelDecorated(false);
     
            //Création et initialisation de la fenêtre principale.
            JFrame mainWindow = new JFrame("DETCOL : Administration");
            mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            mainWindow.setLocation(200,200);
            mainWindow.setSize(800,600);
            mainWindow.setIconImage(Toolkit.getDefaultToolkit().getImage("resources/images/logo_ctlf_pti.gif"));
     
            //Addition d'un contenu        
            JSplitPane content = new MainContent().getMainContent();
            mainWindow.setContentPane(content);
            //Affichage de la fenêtre.
            mainWindow.pack();
            mainWindow.setVisible(true);
    		}
    }

  5. #5
    Membre à l'essai
    Femme Profil pro
    Enseignant chercheur retraitée
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant chercheur retraitée

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Points : 19
    Points
    19
    Par défaut Correction
    En voulant faire vite, j'ai juste oublié la première ligne de la classe Start:

    à rajouter devant les imports:

  6. #6
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par jobern Voir le message
    En voulant faire vite, j'ai juste oublié la première ligne de la classe Start:

    à rajouter devant les imports:
    Et ta structure arborescente de ton appli n'est pas optimale. Puisque tu mets "Main-Class: fr.ens-lyon.jb.admin.Start" dans ton MANIFEST c'est que tu supposes que tu as les packages fr, ens-lyon, jb et admin. Il faudrait donc que ta structure arborescente de ton projet le reflète :
    \ un dossier fr
    --\ un dossier ens-lyon
    ----\ un dossier jb
    ------\ un dossier admin

    Et que tu ais ainsi dans tes fichiers java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    package fr.ens-lyon.jb.admin;
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  7. #7
    Membre à l'essai
    Femme Profil pro
    Enseignant chercheur retraitée
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant chercheur retraitée

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    OK, je m'y colle...

    Merci encore !

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

Discussions similaires

  1. Erreur lors d'une tentative de création de fichier xnb
    Par estacado dans le forum XNA/Monogame
    Réponses: 7
    Dernier message: 25/06/2009, 14h31
  2. Tentative de création d'un petit soft en VBA sous Access
    Par icemanback dans le forum VBA Access
    Réponses: 6
    Dernier message: 27/11/2008, 09h15
  3. tentative de création de QCM avec sql
    Par gintoxic dans le forum Langage SQL
    Réponses: 9
    Dernier message: 04/02/2008, 12h33
  4. Tentative de création de paquetage infructueuse
    Par Poseidon62 dans le forum Ada
    Réponses: 3
    Dernier message: 21/04/2007, 20h40
  5. Tentative de création de carnet d'adresses
    Par Jiraiya42 dans le forum C
    Réponses: 67
    Dernier message: 03/10/2006, 00h43

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