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

AWT/Swing Java Discussion :

java.lang.NoClassDefFoundError aléatoire en swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Par défaut java.lang.NoClassDefFoundError aléatoire en swing
    Bonjour,

    J'ai un problème de java.lang.NoClassDefFoundError.

    En effet, mon appli est constitué comme suit :
    une classe UI qui appelle une classe Core qui appelle une classe DB.
    Dans les fait, UI contient un objet interface de type core et core contient un objet interface DB.
    Lors de la création de mon objet, je rend viable ces objets contenus.

    Et mon problème est un peu bizarre.

    Si ma classe UI est de la ligne de commande, je n'ai pas de problème à appelé mon core qui appelle ma DB.

    En revanche, si mon ui est en swing, mon core me renvoit l'exception ci dessus il ne trouve pas la classe DB ..... o.O.

    Est ce que quelqu'un a déjà rencontré ce type de soucis ?

    Je travaille sous Netbeans.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    contient un objet interface de type
    Un objet interface ?

    Tu aurais un petit morceau de code peut etre ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Le code pour la ligne de commande doit sûrement contenir des instructions que le code avec UI ne contient pas.

    Par exemple un Class.forName(), le coup classique avec les drivers de BDD.

    Au passage : il faut toujours donner le message d'erreur. Le vrai, en entier. Quelle est la Class qui fait une Error parce qu'on a No Found sa Def ? C'est pourtant ça, qui est important, pas le reste. Qu'on soit expérimenté ou pas, ça me semble tout de même évident.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Par défaut
    alors celle là...

    Merci les gars.

    Grâce à vous, j'ai dû redémarrer netbeans pour vous copier le code et là, aucun souci ....

    Je note dans un coin le reboot de Netbeans comme solution de debugging ....

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Je ne suis pas un grand utilisateur de Netbeans, mais avec certaines versions d'Eclipse, c'est aussi un bon remède .
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre du Club
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Par défaut
    Bon, bah echec ... :-(

    Il me refait ce probleme

    Je vous copie les classes utilisées ... Si un expert NetBeans passe sur le thread .... Merci !

    Class CLI_ui :
    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
     
     public static void main(String[] args) {
            // TODO code application logic here
            File myDBFile = new File("V:\\Dev\\testsqlite.sqlite");
     
     
                try {
                    Icore myCore = new Core(myDBFile);
                    System.out.println(myCore.getVersion());
     
     
                } catch (LsfCoreException ex) {
                    Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
                }
     
     
     
        }
    et la Graph_UI :

    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
     
    public class NewApplication extends javax.swing.JFrame {
        Icore myC;
        File selectedFile;
     
        /**
         * Creates new form NewApplication
         */
        public NewApplication() {
            initComponents();
     
             selectedFile = new File("V:\\Dev\\testsqlite.sqlite");
     
     
            this.updateTextBdD();
            try {
                myC = new Core(selectedFile);
     
                JOptionPane.showMessageDialog(this, myC.getVersion());
     
                        }
     
     
            } catch (LsfCoreException ex) {
                Logger.getLogger(NewApplication.class.getName()).log(Level.SEVERE, null, ex);
            }
     
        }
    Avec :

    Icore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public interface Icore {
        public void setDBFile(File myDBFile);
        public List<Mots> getAllMots() throws LsfCoreException;
        public List<Theme> getAllThemes() throws LsfCoreException;
        public List<Niveaux> getAllNiveaux() throws LsfCoreException;
        public List<Categories> getAllCategories() throws LsfCoreException;
        public Mots getMot(String req)  throws LsfCoreException;
        public Theme getTheme(String req )  throws LsfCoreException;
        public Niveaux getNiveaux(String req)  throws LsfCoreException;
        public Categories getCategories(String req)  throws LsfCoreException;
        public Boolean usable();
        public String getVersion() throws LsfCoreException;
    }
    et Core

    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
     
     
    public final class Core implements Icore, Iadmincore {
     
        private idbmanager myDBM ;
     
     
        public idbmanager getMyDBM() {
            return myDBM;
        }
     
        public void setMyDBM(idbmanager aDBM) throws LsfCoreException{
            if(aDBM != null)
            this.myDBM = aDBM;
            else
                throw new LsfCoreException("DBManager ne peut être null");
        }
     
     
        public Core(File myDBFile) throws LsfCoreException{
            // TODO : Boolean hasFile et verif pour lancer l'admin core sans fichier prédéfini
           try 
           {
            idbmanager tempDBM = new dbmanager(myDBFile);
           this.setMyDBM(tempDBM);
           }
           catch (Exception e)
           {
               throw new LsfCoreException(e.getMessage());
           }
        }
     
         public Core() throws LsfCoreException
        {
     
        }
     
         @Override
         public Boolean usable()
         {
             try
             {
             return(myDBM != null);
             }
             catch (Exception e)
             {
                 return false;
             }
         }
     
        public void setDBFile(File aFile)
        {
            if(this.myDBM != null)
            {
                try {
                    this.myDBM.close();
                } catch (LsfDBException ex) {
                    Logger.getLogger(Core.class.getName()).log(Level.SEVERE, null, ex);
                }
     
            }
            this.myDBM = new dbmanager(aFile);
        }
     
     
     
       .................
     
        @Override
        public String getVersion() throws LsfCoreException
        {
            try {
                return this.myDBM.getVersion();
            } catch (LsfDBException ex) {
                Logger.getLogger(Core.class.getName()).log(Level.SEVERE, null, ex);
                throw new LsfCoreException(ex.getMessage());
            }
        }
     
     
     
    }
    (j'ai enlevé le code qui n'interviens pas)

    Nota :
    si je fais appel à l'interface Idbmanager dans mes frontends , cela fonctionne...

    Donc je pense sérieusement à une perte de classpath dans netbeans... Y a t il un xpert Netbeans susceptible de m'aider ?

Discussions similaires

  1. [JDOM] java.lang.NoClassDefFoundError : NamespaceContext
    Par pierreonxbox dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 11/04/2006, 09h43
  2. [DisplayTag] java.lang.NoClassDefFoundError: org/apache/commons/lang/UnhandledException
    Par MAJIK_ENIS dans le forum Taglibs
    Réponses: 18
    Dernier message: 06/04/2006, 10h18
  3. [Plugin][Hibernate Tools] java.lang.NoClassDefFoundError
    Par notrustinyou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/11/2005, 17h17
  4. [ eclipse3 ] [ Deb. ] java.lang.NoClassDefFoundError:
    Par Marc_3 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/10/2005, 12h26
  5. [Struts] java.lang.NoClassDefFoundError
    Par Zephoria dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/02/2005, 10h51

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