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.
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 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 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 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 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 <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>
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; } }
Partager