vendredi 2 novembre 2018

java.lang.NoSuchMethodError: org.hibernate.cfg.annotations.reflection.JPAMetadataProvider

i created new simple web app projected with hibernate 5 , Tomcat9 server. when run project it show following error. Exception javax.servlet.ServletException: Servlet execution threw an exception org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

  Root Cause
  java.lang.NoSuchMethodError: 
  org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.<init> 
 (Lorg/hibernate/boot/spi/MetadataBuildingOptions;)V

 org.hibernate.boot.internal.MetadataBuilderImpl$MetadataBuildingOptionsImpl
 .generateDefaultReflectionManager(MetadataBuilderImpl.java:741)

 org.hibernate.boot.internal.MetadataBuilderImpl$MetadataBuildingOptionsImpl
 .<init>(MetadataBuilderImpl.java:714)
  org.hibernate.boot.internal.MetadataBuilderImpl.<init > 
  (MetadataBuilderImpl.java:126)

  org.hibernate.boot.MetadataSources.getMetadataBuilder
 (MetadataSources.java:135)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:654)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726)
org.serv.Controller.doPost(Controller.java:45)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

here is servlet which throws exception

    package org.serv;

    import java.io.IOException;


   import javax.servlet.ServletException;
   import javax.servlet.annotation.WebServlet;
   import javax.servlet.http.HttpServlet;
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletResponse;

  import org.hibernate.HibernateException;
  import org.hibernate.Session;
   import org.hibernate.SessionFactory;
 import org.hibernate.cfg.Configuration;
 import org.pojo.PhoneBook;



 @WebServlet("/Controller")
public class Controller extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public Controller() {
    super();
    // TODO Auto-generated constructor stub
}

protected void doGet(HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException{

    doPost(request,response);
}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

PhoneBook book = new PhoneBook();
    book.setName(request.getParameter("name"));
    book.setPhone(Integer.parseInt( request.getParameter("number")));
    book.setAddress(request.getParameter("address"));
    try {
    SessionFactory sf = new Configuration().configure("/hibernate.cfg.xml").buildSessionFactory();
    Session sess = sf.openSession();
    sess.beginTransaction();
    sess.save(book);
    sess.close();
    }catch(HibernateException e ) {e.printStackTrace();System.err.println("Session problem ");}

}//end doPost

}//servlet

Here are library list which been listed... enter image description here

I have been searched everywhere and also search stackover flow but didn't found solution. kindly guide me . what is error , and how can solve it .




Aucun commentaire:

Enregistrer un commentaire