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

Java EE Discussion :

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException


Sujet :

Java EE

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    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;
    	}
    }

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 462
    Points : 896
    Points
    896
    Billets dans le blog
    5
    Par défaut
    A priori, le message semble simple.

    Une classe (JAXB) n'est pas trouvé.

    Ce qui est surprenant.

    A titre d'information, JAXB est une librairie qui sert à mapper du XML avec des classes Java.
    https://jmdoudoux.developpez.com/cou...-jaxb.php#jaxb

    Il y a très longtemps, cette librairie était dans le JDK standard (c'était le cas en Java 8).

    Ce n'est plus le cas aujourd'hui.

    Pour avoir JAXB:
    https://mvnrepository.com/artifact/j....bind/jaxb-api

    Pour être précis, c'est javax.xml.bind.JAXBException qui n'est pas trouvé.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut
    Merci, j'ai importé le fichier JAXB dans ma librairie et l'erreur est levée mais un autre lié à la connexion s'est produit.

    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
    oct. 16, 2023 12:52:59 PM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
    INFO: HHH000204: Processing PersistenceUnitInfo [
    	name: gestionplateformecollaborative
    	...]
    oct. 16, 2023 12:52:59 PM org.hibernate.Version logVersion
    INFO: HHH000412: Hibernate Core {5.3.6.Final}
    oct. 16, 2023 12:52:59 PM 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=""}
    oct. 16, 2023 12:53:00 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
    INFO: HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
    oct. 16, 2023 12:53:00 PM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService
    WARN: HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections
    oct. 16, 2023 12:53:00 PM org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator initiateService
    WARN: HHH000342: Could not obtain connection to query metadata : The application must supply JDBC connections
    oct. 16, 2023 12:53:00 PM org.hibernate.dialect.Dialect <init>
    INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
    oct. 16, 2023 12:53:00 PM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl makeLobCreatorBuilder
    INFO: HHH000422: Disabling contextual LOB creation as connection was null
    oct. 16, 2023 12:53:00 PM org.hibernate.resource.beans.spi.ManagedBeanRegistryInitiator resoveBeanContainer
    INFO: HHH10005002: No explicit CDI BeanManager reference was passed to Hibernate, but CDI is available on the Hibernate ClassLoader.
    oct. 16, 2023 12:53:01 PM org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateService
    INFO: HHH000397: Using ASTQueryTranslatorFactory
    Hibernate: 
        select
            utilisateu0_.id as id1_0_,
            utilisateu0_.email as email2_0_,
            utilisateu0_.nom as nom3_0_,
            utilisateu0_.photo as photo4_0_,
            utilisateu0_.prenom as prenom5_0_ 
        from
            Utilisateur utilisateu0_
    Exception in thread "main" java.lang.UnsupportedOperationException: The application must supply JDBC connections
    	at org.hibernate.engine.jdbc.connections.internal.UserSuppliedConnectionProviderImpl.getConnection(UserSuppliedConnectionProviderImpl.java:44)
    	at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)
    	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106)
    	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:136)
    	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:47)
    	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:146)
    	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
    	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:148)
    	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1984)
    	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1914)
    	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1892)
    	at org.hibernate.loader.Loader.doQuery(Loader.java:937)
    	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:340)
    	at org.hibernate.loader.Loader.doList(Loader.java:2689)
    	at org.hibernate.loader.Loader.doList(Loader.java:2672)
    	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2506)
    	at org.hibernate.loader.Loader.list(Loader.java:2501)
    	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:504)
    	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:395)
    	at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:220)
    	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1508)
    	at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1537)
    	at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1505)
    	at org.hibernate.query.Query.getResultList(Query.java:135)
    	at com.gestion.Console.main(Console.java:21)

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 462
    Points : 896
    Points
    896
    Billets dans le blog
    5
    Par défaut
    Est-tu sur que ton driver JDBC est en phase avec ta BDD MySQL?

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut
    Oui, j'ai fais un test en jdbc directement je n'ai pas d'erreur.

Discussions similaires

  1. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException ?
    Par freezerhm dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 04/12/2007, 09h26
  2. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par Trint dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 27/02/2007, 11h28
  3. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  4. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45

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