Duvida Hibernate tentando ler hibernate.cfg.xml dentro de um jar

3 respostas
P

Olá,

tenho um projeto web e coloquei um jar onde tem como acessar o arquivo hibernate.cfg.xml

mas quando vai nessa rotina da erro abaixo…

O arquivo hibernat.cfg.xml está no direótrio src no jar.

Alguém já passou por isso …

abs

public class HibernateUtil {

	private static final Logger logger = Logger.getLogger(HibernateUtil.class);
	private static final SessionFactory sessionFactory;
	private static ThreadLocal<Session> sessions = new ThreadLocal<Session>();
	static {
		sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
	}
	public static Session openSession() {
		if (sessions.get() != null) {
			logger.error("Essa sessão está ainda aberta !! ");
			// grave, alguem nao fechou uma sessao ja aberta!
		}
		sessions.set(sessionFactory.openSession());
		return sessions.get();
	}
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NoSuchMethodError: org.hibernate.cfg.AnnotationConfiguration.configure()Lorg/hibernate/cfg/AnnotationConfiguration;
	at br.com.marisa.core.HibernateUtil.<clinit>(HibernateUtil.java:14)
	at br.com.marisanova.controller.UsuarioBean.listaUsuariosPorNome(UsuarioBean.java:124)
	at br.com.marisanova.controller.UsuarioBean.pesquisaUsuarios(UsuarioBean.java:138)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:172)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
	at javax.faces.component.UICommand.broadcast(UICommand.java:383)
	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at br.com.marisa.app.web.filter.SecurityFirewallFilter.doFilter(SecurityFirewallFilter.java:73)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at br.com.marisa.app.web.filter.SessionGarbageCollectorFilter.doFilter(SessionGarbageCollectorFilter.java:28)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

3 Respostas

bronx

A classe HibernateUtil está no src do projeto ou dentro desse jar?

Seria interessante você criar um filtro que abra e feche a sessão para cada request (se já faz isso, desconsidere! é que não identifiquei pelo stacktrace…^^)!

[OFF-TOPIC]
**Não sei a galera do fórum, mas sempre que eu posto algum código eu omito o projeto. Às vezes, por questões contratuais, o cliente exige sigilo sobre o projeto desenvolvido. :wink:
[/OFF-TOPIC]

P

A classe HibernateUtil está dentro do jar e o arquivo hibernate.cfg.xml está também ???

tem alguma forma de ler esse arquivo hibernate.cfg.xml da minha aplicação web

dentro do jar ???

se pudesse me ajudar agradeceria…

abs

rafarcm

Você conseguiu resolver este problema? Estou tendo o mesmo problema

Criado 18 de setembro de 2009
Ultima resposta 25 de dez. de 2010
Respostas 3
Participantes 3