Bonjour à tous,
Je suis débutant en JEE et je travaille sur un projet dans lequel il y a ma table utilisateur. Je voudrais afficher les données de cette table mais j'ai une exception in thread "main" java.lang.NoClassDefFoundError et les solutions que j'ai trouvé ne marche pas.

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
oct. 15, 2023 11:05:39 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [
	name: gestionplateformecollaborative
	...]
oct. 15, 2023 11:05:40 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.6.Final}
oct. 15, 2023 11:05:40 AM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {jakarta.persistence.jdbc.driver=com.mysql.jdbc.Driver, hibernate.dialect=org.hibernate.dialect.MySQLDialect, jakarta.persistence.jdbc.url=jdbc://localhost:3306/gestionplateformecollaborative, jakarta.persistence.jdbc.user=root, hibernate.bytecode.use_reflection_optimizer=false, jakarta.persistence.schema-generation.database.action=create, jakarta.persistence.jdbc.password=""}
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
	at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43)
	at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:86)
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:212)
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:174)
	at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76)
	at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171)
	at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119)
	at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:61)
	at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:50)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
	at com.gestion.Console.main(Console.java:18)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	... 12 more
Class main
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
package com.gestion;
 
import java.util.List;
 
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
 
import com.metier.Utilisateur;
 
public class Console {
 
	public static void main(String[] args) {
 
		EntityManagerFactory entityManagerFactory = null;
        EntityManager entityManager = null;
 
        entityManagerFactory = Persistence.createEntityManagerFactory("gestionplateformecollaborative");
        entityManager = entityManagerFactory.createEntityManager();
 
        List<Utilisateur> utilisateurs = entityManager.createQuery( "from utilisateur", Utilisateur.class ).getResultList();
		for (Utilisateur user : utilisateurs) {
			System.out.println( user );
		}
 
	}
}
Class persistence
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
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
                   http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
 
    <persistence-unit name="gestionplateformecollaborative">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
 
        <class>com.metier.Utilisateur</class> 
 
        <properties>
             <!-- Database connection settings -->
             <property name="jakarta.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/gestionplateformecollaborative;DB_CLOSE_DELAY=-1" />
            <property name="jakarta.persistence.jdbc.user" value="root" />
            <property name="jakarta.persistence.jdbc.password" value="" />
 
            <!-- Automatically export the schema -->
            <property name="jakarta.persistence.schema-generation.database.action" value="create" />
 
            <!-- Echo all executed SQL to console -->
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
            <property name="hibernate.highlight_sql" value="true" />
        </properties>
    </persistence-unit>
 
</persistence>
Class Utilisateur
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
package com.metier;
 
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Entity @Table( name ="Utilisateur" )
public class Utilisateur {
 
	@Id @GeneratedValue( strategy=GenerationType.IDENTITY )
	private int id;
	private String nom;
	private String prenom;
	private String email;
	private String photo;
 
	public Utilisateur(){
		this("unknow", "unknow", "unknow", "unknow");
	}
 
	public Utilisateur(String pNom, String pPrenom, String pEmail, String pPhoto) {
		this.setNom( pNom );
		this.setPrenom( pPrenom );
		this.setEmail( pEmail );
		this.setPhoto( pPhoto );
	}
 
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
 
	public String getNom() {
		return nom;
	}
	public void setNom(String nom) {
		this.nom = nom;
	}
 
	public String getPrenom() {
		return prenom;
	}
	public void setPrenom(String prenom) {
		this.prenom = prenom;
	}
 
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
 
	public String getPhoto() {
		return photo;
	}
 
	public void setPhoto(String photo) {
		this.photo = photo;
	}
}