Problemas com jsf2.0+ jpa e tomcat

ola boa tarde galera , estou fazendo um crud como trabalho da facul so nao consigo obter sucesso vou postar o codigo e o erro aqui pra ver se alguem consegue me ajudar

package modelo;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="Usuario")
public class Usuario {
	
@Id
@GeneratedValue
@Column(unique=true,nullable=false)
private long id;	


private String nome;
private String senha;
private String email;


@OneToMany(cascade=CascadeType.PERSIST)
@JoinColumn(name="id_contato")
private List<Contato> contatos;


public long getId() {
	return id;
}
public void setId(long id) {
	this.id = id;
}
public String getEmail() {
	return email;
}
public void setEmail(String email) {
	this.email = email;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getSenha() {
	return senha;
}
public void setSenha(String senha) {
	this.senha = senha;
}


public List<Contato> getContatos() {
	return contatos;
}
public void setContatos(List<Contato> contatos) {
	this.contatos = contatos;
}
@Override
public String toString() {
	return "Usuario [id=" + id + ", nome=" + nome + ", senha=" + senha
			+ ", email=" + email + ", contatos=" + contatos + "]";
}

}
package modelo.beans;

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

import org.junit.Test;

import modelo.Usuario;

public class UsuarioBean implements IDAOBean{

	
		EntityManagerFactory emf = Persistence.createEntityManagerFactory("menager1");
		EntityManager em = emf.createEntityManager();

	
	
	
	Usuario usuario = new Usuario();
	
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	
	
	
@Test
	
	
	public void iserir() {
		
		EntityManagerFactory emf = Persistence.createEntityManagerFactory("menager1");
		EntityManager em = emf.createEntityManager();
		usuario.setNome("joao");
		usuario.setEmail("joao");
		usuario.setSenha("joao");
		
		em.getTransaction().begin();
		em.persist(usuario);
		em.getTransaction().commit();
		em.close();
		emf.close();
		
	}

	@Override
	public void buscar() {
	
	em.getTransaction().begin();
	
		Usuario u = em.find(Usuario.class, 3);	
	String nome = u.getNome();
		
		em.close();
		emf.close();
		
		
		System.out.println(nome);
	

}

	@Override
	public void apagar() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void modificar() {
		// TODO Auto-generated method stub
		
	}

	
	
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<h:form>

<h:panelGrid columns="2" >

<h:outputText value="NOME:"/>
<h:inputText value="#{usuarioBean.usuario}"/>

<h:outputText value="senha:"/>
<h:inputText value="#{usuarioBean.usuario.senha}"/>

<h:outputText value="EMAIL"/>
<h:inputText value="#{usuarioBean.usuario.email}"/>





<h:commandButton value="salvar"  action="#{usuarioBean.iserir()}" />


</h:panelGrid>


</h:form>
	
	
	
	
</html>

so pra constar , consigo fazer a criacao do banco no Junit normalmente

esse e o erro q aparece


javax.faces.FacesException: java.lang.NoClassDefFoundError: javax/persistence/Persistence
	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:258)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: javax/persistence/Persistence
	at modelo.beans.UsuarioBean.<init>(UsuarioBean.java:14)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.apache.myfaces.config.annotation.Tomcat7AnnotationLifecycleProvider.newInstance(Tomcat7AnnotationLifecycleProvider.java:54)
	at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:162)
	at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:303)
	at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:266)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142)
	at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65)
	at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:96)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142)
	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:147)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
	at org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85)
	at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243)
	at javax.faces.component.UIOutput.getValue(UIOutput.java:71)
	at javax.faces.component.UIInput.getValue(UIInput.java:143)
	at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getValue(RendererUtils.java:343)
	at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getStringValue(RendererUtils.java:291)
	at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.renderInputBegin(HtmlTextRendererBase.java:169)
	at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.renderInput(HtmlTextRendererBase.java:158)
	at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:75)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519)
	at org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:543)
	at org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:315)
	at org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:150)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:618)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:614)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:614)
	at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1159)
	at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263)
	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)
	... 17 more
Caused by: java.lang.ClassNotFoundException: javax.persistence.Persistence
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
	... 58 more

Toda vez que você ver a mensagem de erro abaixo é por que está faltando adicionar bibliotecas ao seu projeto (*.jar):

Aqui tem um projeto pronto que tem as bibliotecas necessárias: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate

Você pode fazer o download e copiar apenas as bibliotecas.

obrigado , ja tinha testando atualizar as bibliotecas e nao funcionou . agora vou tentar com as do link que vc me mandou

Verifique se vc possui no seu lib as bibliotecas

hibernate-entitymanager.jar
jb3-persistence.jar

resolvi pondo tudo numa pasta LIB ao invés de fazer user library.

agora estou com problemas com o jsf , o botão parece não chamar o método , ja configurei o menagerbean , ele auto completa as tags jstl

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<h:form>

<h:panelGrid columns="2" >

<h:outputText value="NOME:"/>
<h:inputText value="#{usuarioBean.usuario}"/>

<h:outputText value="senha:"/>
<h:inputText value="#{usuarioBean.usuario.senha}"/>

<h:outputText value="EMAIL"/>
<h:inputText value="#{usuarioBean.usuario.email}"/>





<h:commandButton value="salvar"  action="#{usuarioBean.iserir()"} />        //**diz q essa linha esta com erro mais nao diz doque so aparece uma cruz vermelha **//


</h:panelGrid>


</h:form>
	
	
	
	
</html>

[quote=Jordao_Bass]resolvi pondo tudo numa pasta LIB ao invés de fazer user library.

agora estou com problemas com o jsf , o botão parece não chamar o método , ja configurei o menagerbean , ele auto completa as tags jstl

[code]
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=“http://www.w3.org/1999/xhtml
xmlns:h=“http://java.sun.com/jsf/html
xmlns:f=“http://java.sun.com/jsf/core
xmlns:ui=“http://java.sun.com/jsf/facelets”>

<h:form>

<h:panelGrid columns=“2” >

<h:outputText value=“NOME:”/>
<h:inputText value="#{usuarioBean.usuario}"/>

<h:outputText value=“senha:”/>
<h:inputText value="#{usuarioBean.usuario.senha}"/>

<h:outputText value=“EMAIL”/>
<h:inputText value="#{usuarioBean.usuario.email}"/>

<h:commandButton value=“salvar” action="#{usuarioBean.iserir()"} /> //**diz q essa linha esta com erro mais nao diz doque so aparece uma cruz vermelha **//

</h:panelGrid>

</h:form>

</html>
[/code][/quote]

Eu minha opinião, acho que dentro da hash tag(#) você deve tirar os parenteses.
Ou seja, action="#{usuarioBean.inserir}", mesmo que seja um método.

ja tinha feito isso, e continua o mesmo problema :frowning:

Veja seu action, vc adicionou a aspas(") de fechamento antes da chave(}) e veja se seu metodo “iserir” no Bean esta sem o N.

action="#{usuarioBean.iserir()"}

deixe assim:

action="#{usuarioBean.inserir()}"

ou assim , como foi mencionado

action="#{usuarioBean.inserir}"