estou rodando um aplicativo no tomcat e me fornece a seguinte exception..
exception
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.NoClassDefFoundError: javax/persistence/NonUniqueResultException
br.empresa.web.Procedimentos.
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:494)
java.lang.Class.newInstance0(Class.java:350)
java.lang.Class.newInstance(Class.java:303)
com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:275)
com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:551)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
org.apache.el.parser.AstValue.getValue(AstValue.java:103)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
javax.faces.component.UIData.getValue(UIData.java:582)
javax.faces.component.UIData.getDataModel(UIData.java:1063)
javax.faces.component.UIData.setRowIndex(UIData.java:417)
com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:785)
javax.faces.component.UIData.encodeBegin(UIData.java:879)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:809)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:244)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:174)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
package br.empresa.web;
import java.util.List;
import br.empresa.Funcionario;
import br.empresa.FuncionarioNaoEncontradoException;
import br.empresa.FuncionarioNaoUnicoException;
import br.empresa.FuncionarioServiceImpl;
public class Procedimentos{
FuncionarioServiceImpl servico = new FuncionarioServiceImpl();
public Procedimentos(){
System.out.println("\npassou pelo construtor");
}
public List<Funcionario> getListaFuncionario()
throws FuncionarioNaoUnicoException,
FuncionarioNaoEncontradoException {
System.out.println("\nacessou o metodo getListaFuncionario");
System.out.println("chamando a funcao carregarTudoOrdenadoNome");
return this.servico.carregarTudoOrdenadoNome();
}
public void excluirFuncionario(Funcionario funcionario) {
System.out.println("\nacessou o metodo excluirFuncionario");
this.servico.excluir(funcionario);
System.out.println("exclusao efetuada!");
}
public void inserirFuncionario(Funcionario funcionario){
System.out.println("\nacessou o metodo inserirFUncionario");
this.servico.inserir(funcionario);
System.out.println("insercao efetuado!");
}
}
package br.empresa;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.NonUniqueResultException;
import javax.persistence.Query;
import br.empresa.resources.HibernateEntityManagerFactory;
public class FuncionarioServiceImpl implements FuncionarioService {
private EntityManager em = HibernateEntityManagerFactory
.getEntityManagerFactory().createEntityManager();
public FuncionarioServiceImpl(){
System.out.println("\nacessou o construtor da classe");
}
public Funcionario buscaFuncionarioPorNome(String nome)
.....
}
@SuppressWarnings("unchecked")
public List<Funcionario> carregarTudoOrdenadoNome()
throws FuncionarioNaoEncontradoException,
FuncionarioNaoUnicoException{
System.out.println("\nacessou o metodo carregarTudoOrdenadoNome");
System.out.println("criando um novo funcionario!");
List<Funcionario> funcionario = new ArrayList<Funcionario>();
try{
System.out.println("chamando o select da classe funcionario");
Query query = em.createQuery("Select e from Funcionario e");
funcionario = query.getResultList();
}catch (NoResultException e) {
throw new FuncionarioNaoEncontradoException();
}catch(NonUniqueResultException e){
throw new FuncionarioNaoUnicoException();
}
return funcionario;
}
public void excluir(Funcionario funcionario) {
...
}
public void gravar(Funcionario funcionario) {
...
}
public void inserir(Funcionario funcionario) {
.....
}
}
