Erreur "java.lang.ClassFormatError"

Fermé
syrine01 Messages postés 44 Date d'inscription dimanche 5 février 2012 Statut Membre Dernière intervention 10 avril 2017 - 1 sept. 2013 à 18:59
syrine01 Messages postés 44 Date d'inscription dimanche 5 février 2012 Statut Membre Dernière intervention 10 avril 2017 - 10 sept. 2013 à 19:20
Je développe une application (avec NetBeans) et lorsque je l'exécute, j'obtiens toutes les erreurs suivantes ,mais le probléme que netbeans ne donne pas les droits d'accées pour modifier la calsseClassFormatError :
java.lang.ClassFormatError: Duplicate field name&signature in class file Introduction/Formstagiaire
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)


Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?
Merci d'avance pour votre aide.

2 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
Modifié par kij_82 le 2/09/2013 à 15:05
Bonjour,

L'erreur "Duplicate field name&signature" signifie (après traduction anglais -> français) que tu as dans ta classe 'Formstagiaire' au moins deux champs qui ont à la fois le même nom et le même type.

Il faut donc que tu renommes l'un de tes deux champs tout simplement. Et de manière globale, on ne donne pas deux fois le même nom à une variable de classe, ne serait-ce que pour ne pas que ça prête à confusion lors d'une lecture du code.

Comme quoi souvent pour résoudre un problème, il faut commencer par étudier le message d'erreur, soit par une traduction, soit par une recherche plus technique sur internet si le message n'est pas assez clair.


~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
0
syrine01 Messages postés 44 Date d'inscription dimanche 5 février 2012 Statut Membre Dernière intervention 10 avril 2017
Modifié par syrine01 le 10/09/2013 à 20:10
voila mon code source et il n'existe pas un champs qui est répéter 2 fois !! svp aide moi

package Introduction;

//importer des pakages par moi
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Formstagiaire extends javax.swing.JFrame {

/**
* Creates new form Formstagiaire
*/
public Formstagiaire() {
}


// load Formstagiaire: avec events puis windows puis WindowOpened

private void formWindowOpened(java.awt.event.WindowEvent evt) {
try {
// connexion au BD par moi :
Class.forName("sun.Jdbc.Odbc.JdbcOdbcDriver");
cnx = DriverManager.getConnection("jdbc:odbc:DB_stagaire");
St = cnx.createStatement();

dt = new DefaultTableModel();
dt.addColumn("mat");
dt.addColumn("nom");
dt.addColumn("prenom");
dt.addColumn("moyenne");
dt.addColumn("DateNaiss");
Tablestagiaire.setModel(dt);
AfficherStagiaire();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "erreur de connexion \n" + e.getMessage());
}

}

//procedure qui affiche la liste des stagiaire par moi
private void AfficherStagiaire() {
try {
dt.setRowCount(0); // vider la liste des stagiaires
Rs = St.executeQuery("Select * From stagiaire");

while (Rs.next()) {
mat = Rs.getInt("mat");
nom = Rs.getString("nom");
prenom = Rs.getString("prenom");
moyenne = Rs.getDouble("moyenne");
DateNaiss = Rs.getDate("DateNaiss");
Object[] stagiaire = {mat, nom, prenom, moyenne, DateNaiss};
dt.addRow(stagiaire);
}


} catch (Exception e ) {
JOptionPane.showMessageDialog(null, " erreur d'afficher la liste des stagiaire\n" + e.getMessage());
}

}


//</editor-fold>
//</editor-fold>
/*
* Créer et afficher le formulaire ;design
*/
// java.awt.EventQueue.invokeLater (
// new runnable() {}};
// public void run() {
// new Formstagiaire().setVisible(true);}


//declaration des variables par moi
private Connection cnx;
private Statement St;
private ResultSet Rs;
private DefaultTableModel dt;
private int mat;
private String nom, prenom;
private double moyenne;
private Date DateNaiss;

// indice de déplacement:
private int i;
// Variables declaration - do not modify
private javax.swing.JTable Tablestagiaire;
private javax.swing.JButton btnAfficher;
private javax.swing.JButton btnAjouter;
private javax.swing.JButton btnDernier;
private javax.swing.JButton btnModifier;
private javax.swing.JButton btnPrecedent;
private javax.swing.JButton btnPremiere;
private javax.swing.JButton btnRechercher;
private javax.swing.JButton btnSuivant;
private javax.swing.JButton btnSupprimer;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField txtDateNaiss;
private javax.swing.JTextField txtRechercher;
private javax.swing.JTextField txtmat;
private javax.swing.JTextField txtmoyenne;
private javax.swing.JTextField txtnom;
private javax.swing.JTextField txtprenom;
// End of variables declaration
}


0