Não é possível criar instância para·a classe

8 respostas Resolvido
java
A

Alguém sabe me dizer o porque quando incluo no meu projeto o validation-api-1.0.0.GA.jar ele passa a dar este erro:

GRAVE: Error Rendering View[/curso_lista.xhtml]

com.sun.faces.mgbean.ManagedBeanCreationException: Não é possível criar instância para·a classe: escola.musica.bean.CursoBean.

at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:191)

at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)

at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)

at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)

at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)

at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)

at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)

at org.apache.el.parser.AstValue.getValue(AstValue.java:137)

at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)

at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)

at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)

at javax.faces.component.UIData.getValue(UIData.java:732)

at org.primefaces.component.api.UIData.getDataModel(UIData.java:764)

at javax.faces.component.UIData.getRowCount(UIData.java:356)

at org.primefaces.component.api.UIData.calculateFirst(UIData.java:215)

at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:117)

at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:85)

at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)

at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)

at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)

at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)

at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:206)

at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:123)

at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)

at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)

at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)

at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)

at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: escola_musica] Unable to configure EntityManagerFactory

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:375)

at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)

at escola.musica.dao.JPAUtil.getEntityManager(JPAUtil.java:10)

at escola.musica.dao.CursoDAO.listarTodos(CursoDAO.java:22)

at escola.musica.bean.CursoBean.(CursoBean.java:29)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at java.lang.Class.newInstance(Class.java:442)

at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)

 59 more

Caused by: org.hibernate.HibernateException: Unable to get the default Bean Validation factory

at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:104)

at org.hibernate.cfg.AnnotationConfiguration.applyBeanValidationConstraintsOnDDL(AnnotationConfiguration.java:477)

at org.hibernate.cfg.AnnotationConfiguration.applyConstraintsToDDL(AnnotationConfiguration.java:429)

at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:403)

at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1206)

at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1457)

at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:193)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1085)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:279)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:363)

 71 more

Caused by: java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:95)

 80 more

Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory

at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:322)

at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:83)

 85 more

Caused by: javax.validation.ValidationException: Unable to find a default provider

at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264)

at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)

at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:319)

 86 more
jan 07, 2017 2:02:17 PM org.apache.catalina.core.StandardWrapperValve invoke

GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/Escola_Musica] threw exception [Não é possível criar instância para·a classe: escola.musica.bean.CursoBean.] with root cause

javax.validation.ValidationException: Unable to find a default provider

at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264)

at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)

at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:319)

at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:83)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:95)

at org.hibernate.cfg.AnnotationConfiguration.applyBeanValidationConstraintsOnDDL(AnnotationConfiguration.java:477)

at org.hibernate.cfg.AnnotationConfiguration.applyConstraintsToDDL(AnnotationConfiguration.java:429)

at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:403)

at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1206)

at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1457)

at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:193)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1085)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:279)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:363)

at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)

at escola.musica.dao.JPAUtil.getEntityManager(JPAUtil.java:10)

at escola.musica.dao.CursoDAO.listarTodos(CursoDAO.java:22)

at escola.musica.bean.CursoBean.(CursoBean.java:29)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at java.lang.Class.newInstance(Class.java:442)

at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)

at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)

at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)

at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)

at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)

at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)

at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)

at org.apache.el.parser.AstValue.getValue(AstValue.java:137)

at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)

at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)

at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)

at javax.faces.component.UIData.getValue(UIData.java:732)

at org.primefaces.component.api.UIData.getDataModel(UIData.java:764)

at javax.faces.component.UIData.getRowCount(UIData.java:356)

at org.primefaces.component.api.UIData.calculateFirst(UIData.java:215)

at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:117)

at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:85)

at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)

at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)

at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)

at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)

at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:206)

at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:123)

at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)

at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)

at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)

at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)

at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

Meu projeto:

CursoDAO

package escola.musica.dao;

import java.util.List;

import javax.persistence.EntityManager;

import escola.musica.modelo.Curso;

public class CursoDAO {

	public void salvar(Curso curso) {
		EntityManager entityManager = JPAUtil.getEntityManager();
		
		entityManager.getTransaction().begin();
		entityManager.merge(curso);
		entityManager.getTransaction().commit();
		entityManager.close();
	}
	
	@SuppressWarnings("unchecked")
	public List<Curso> listarTodos() {
		EntityManager entityManager = JPAUtil.getEntityManager();
		return entityManager.createQuery("from Curso").getResultList();
	}

	public void excluir(Curso curso) {
		EntityManager entityManager = JPAUtil.getEntityManager();
		
		entityManager.getTransaction().begin();
		
		curso = entityManager.merge(curso);
		
		entityManager.remove(curso);
		entityManager.getTransaction().commit();
		entityManager.close();
		
	}
}
[/quote]
JPAUtill
<blockquote>
package escola.musica.dao;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JPAUtil {
	public static EntityManager getEntityManager() {
		EntityManagerFactory factory = Persistence.createEntityManagerFactory("escola_musica");
		return factory.createEntityManager();
	}
}
</blockquote>
CursoBean
[quote]
package escola.musica.bean;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import escola.musica.dao.CursoDAO;
import escola.musica.modelo.Curso;
import escola.musica.modelo.TipoCurso;

@ManagedBean
@SessionScoped
public class CursoBean {

	private Curso curso;
	
	private List<TipoCurso> tipos = Arrays.asList(TipoCurso.values());
	private List<Curso> cursos = new ArrayList<Curso>();
	
	public CursoBean() {
		cursos = new CursoDAO().listarTodos();
		curso = new Curso();
	}
	
	
	public String salvar() {
		new CursoDAO().salvar(curso);
		cursos = new CursoDAO().listarTodos();

		curso = new Curso();
		FacesContext.getCurrentInstance().addMessage(null, 
				new FacesMessage("Curso salvo com sucesso!"));
		return "curso_lista?faces-redirect=true";
	}
	
	public String editar(Curso curso) {
		this.curso = curso;
		
		return "curso_formulario?faces-redirect=true";
	}
	
	
	public void prepararExclusao(Curso curso) {
		this.curso = curso;
	}
	
	public void excluir(){
		new CursoDAO().excluir(curso);
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Curso excluído com sucesso!"));
		cursos = new CursoDAO().listarTodos();
	}
	
	public String getDataAtual() {
		return new SimpleDateFormat("dd/MM/yyyy").format(new Date());
	}
	
	public List<Curso> getCursos() {
		return cursos;
	}

	public void setCursos(List<Curso> cursos) {
		this.cursos = cursos;
	}

	public Curso getCurso() {
		return curso;
	}

	public void setCurso(Curso curso) {
		this.curso = curso;
	}

	public List<TipoCurso> getTipos() {
		return tipos;
	}

	public void setTipos(List<TipoCurso> tipos) {
		this.tipos = tipos;
	}	
}

8 Respostas

H

Pode ser que você colocou o validation-api-1.0.0.GA.jar mas não forneceu nenhuma implementação para ele como hibernate validator ou stella bean validation.

A

Boa tarde Henrique, obrigado por responder.

Nos meus JARS está o referido Hibernate Validator. Ele é um dos que podem estar causando o erro.
Em algumas vezes que eu o retirei do programa, ele funcionou, mas aí não entende a anotação @NotEmpty.

R

De fato a API do Beans Validation só funciona se tiver um provider, no caso o hibernate-validator. Então não adianta remover o cara do projeto e deixar só o validation-api que vai dar ruim.
Qual é a versão usada no hibernate-validator?

A

Olá!

Primeiro eu usei a versão do exemplo, depois usei uma mais recente. 5.2.6

R

Bom, descartamos então o problema da versão do hibernate-validator, uma vez que versões inferiores a 4.x não atendem à JSR303.

Você está utilizando qual servidor? Veja se já não existe um jar do validations ou do hibernate-validator nas libs do servidor.

A

Estou usando o apache-tomcat-8.5.5. Dei uma olhada e não ví nenhum jar

R

Posta a classe CursoBean, por favor.

A
Solucao aceita

Esta e outras classes estão logo depois do erro, no começo desta página!

Criado 7 de janeiro de 2017
Ultima resposta 11 de jan. de 2017
Respostas 8
Participantes 3