Java.lang.NoSuchFieldError: INSTANCE[RESOLVIDO]

2 respostas
E

Pessoal,

Estou tentando startar o meu projeto, utlizando o tomcat7, e esta dando o seguinte erro :

RAVE: Exception starting filter HibernateFilter

java.lang.ExceptionInInitializerError

at br.com.evandro.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:22)

at br.com.evandro.util.HibernateUtil.(HibernateUtil.java:12)

at br.com.evandro.web.HibernateSessionRequestFilter.init(HibernateSessionRequestFilter.java:11)

at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:98)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4562)

at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5240)

at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5235)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NoSuchFieldError: INSTANCE

at org.hibernate.type.BasicTypeRegistry.(BasicTypeRegistry.java:94)

at org.hibernate.type.TypeResolver.(TypeResolver.java:59)

at org.hibernate.cfg.Configuration.(Configuration.java:250)

at org.hibernate.cfg.Configuration.(Configuration.java:302)

at br.com.evandro.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:17)
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         id="WebApp_ID" version="2.5">
  <display-name>AulaJSF</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  
  <filter>
      <filter-name>HibernateFilter</filter-name>
      <filter-class>br.com.evandro.web.HibernateSessionRequestFilter</filter-class>
  </filter>
  
  <filter-mapping>
     <filter-name>HibernateFilter      </filter-name>
     <url-pattern>*.jsf</url-pattern>  
  </filter-mapping>
</web-app>


public class HibernateUtil {
	private static final SessionFactory sF = buildSessionFactory();
	
	public static SessionFactory buildSessionFactory(){
		try
		{
			Configuration cfg = new Configuration();
			cfg.configure("hibernate.cfg.xml");
			return cfg.buildSessionFactory();
		} catch (Throwable e) {
			System.out.println("erro ao criar session factory  "+e);
			throw new ExceptionInInitializerError(e);
		}		
	}
	
	public static SessionFactory getSf(){
		return sF;
	}

}

public class HibernateSessionRequestFilter implements Filter{
	private SessionFactory sf;
	public void init(FilterConfig config) throws ServletException{
		sf = HibernateUtil.getSf();
	}
	
	public void doFilter(ServletRequest sRq, ServletResponse sRp, FilterChain chain) throws ServletException {
		try
		{
			sf.getCurrentSession().beginTransaction();
			chain.doFilter(sRq, sRp);
			sf.getCurrentSession().getTransaction().commit();
			sf.getCurrentSession().close();
			
		} catch (Throwable e) {
			try {
				 if (sf.getCurrentSession().getTransaction().isActive()){
					 sf.getCurrentSession().getTransaction().rollback();
				 }
			} catch (Throwable ex) {
				ex.printStackTrace();
			}
			throw new ServletException(e);
		}
		
	}
	
	public void destroy(){
		
	}

}

Alguem pode me ajudar ???

2 Respostas

H

Tem esse campo? by: java.lang.NoSuchFieldError: INSTANCE

E

Pessoal,

Faltava criar a tabela no banco de dados…

Obrigado

Criado 21 de setembro de 2012
Ultima resposta 21 de set. de 2012
Respostas 2
Participantes 2