segue o erro :
HTTP Status 500 – Internal Server Error
Type Exception Report
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:671)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.ExceptionInInitializerError
controle.UsuarioBean.<init>(UsuarioBean.java:29)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
java.lang.Class.newInstance(Class.java:442)
com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)
org.apache.el.parser.AstValue.getValue(AstValue.java:137)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
javax.faces.component.UIOutput.getValue(UIOutput.java:174)
javax.faces.component.UIInput.getValue(UIInput.java:291)
org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:109)
org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:73)
org.primefaces.component.inputtext.InputTextRenderer.encodeMarkup(InputTextRenderer.java:92)
org.primefaces.component.inputtext.InputTextRenderer.encodeEnd(InputTextRenderer.java:62)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeStaticBody(PanelGridRenderer.java:183)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableBody(PanelGridRenderer.java:115)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableLayout(PanelGridRenderer.java:75)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeEnd(PanelGridRenderer.java:47)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:82)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69)
org.primefaces.component.dialog.DialogRenderer.encodeContent(DialogRenderer.java:200)
org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:123)
org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:54)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:87)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69)
org.primefaces.component.commandlink.CommandLinkRenderer.encodeEnd(CommandLinkRenderer.java:141)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
javax.persistence.PersistenceException: [PersistenceUnit: BancoDesafioSebrae] Unable to build Hibernate SessionFactory
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1012)
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:938)
org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
util.JpaUtil.<clinit>(JpaUtil.java:12)
controle.UsuarioBean.<init>(UsuarioBean.java:29)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
java.lang.Class.newInstance(Class.java:442)
com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)
org.apache.el.parser.AstValue.getValue(AstValue.java:137)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
javax.faces.component.UIOutput.getValue(UIOutput.java:174)
javax.faces.component.UIInput.getValue(UIInput.java:291)
org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:109)
org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:73)
org.primefaces.component.inputtext.InputTextRenderer.encodeMarkup(InputTextRenderer.java:92)
org.primefaces.component.inputtext.InputTextRenderer.encodeEnd(InputTextRenderer.java:62)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeStaticBody(PanelGridRenderer.java:183)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableBody(PanelGridRenderer.java:115)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableLayout(PanelGridRenderer.java:75)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeEnd(PanelGridRenderer.java:47)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:82)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69)
org.primefaces.component.dialog.DialogRenderer.encodeContent(DialogRenderer.java:200)
org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:123)
org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:54)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:87)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69)
org.primefaces.component.commandlink.CommandLinkRenderer.encodeEnd(CommandLinkRenderer.java:141)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: Usuario, for columns: [org.hibernate.mapping.Column(TELEFONES)]
org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:488)
org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:455)
org.hibernate.mapping.Property.isValid(Property.java:227)
org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:624)
org.hibernate.mapping.RootClass.validate(RootClass.java:267)
org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:343)
org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:461)
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:935)
org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
util.JpaUtil.<clinit>(JpaUtil.java:12)
controle.UsuarioBean.<init>(UsuarioBean.java:29)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
java.lang.Class.newInstance(Class.java:442)
com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)
org.apache.el.parser.AstValue.getValue(AstValue.java:137)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
javax.faces.component.UIOutput.getValue(UIOutput.java:174)
javax.faces.component.UIInput.getValue(UIInput.java:291)
org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:109)
org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:73)
org.primefaces.component.inputtext.InputTextRenderer.encodeMarkup(InputTextRenderer.java:92)
org.primefaces.component.inputtext.InputTextRenderer.encodeEnd(InputTextRenderer.java:62)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeStaticBody(PanelGridRenderer.java:183)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableBody(PanelGridRenderer.java:115)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableLayout(PanelGridRenderer.java:75)
org.primefaces.component.panelgrid.PanelGridRenderer.encodeEnd(PanelGridRenderer.java:47)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:82)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69)
org.primefaces.component.dialog.DialogRenderer.encodeContent(DialogRenderer.java:200)
org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:123)
org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:54)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:87)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:69)
org.primefaces.component.commandlink.CommandLinkRenderer.encodeEnd(CommandLinkRenderer.java:141)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note A pilha de erros completa da causa principal está disponível nos logs do servidor.
vou por toda a linha dos dados aqui…
segue o bean:
package controle;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import dao.UsuarioDAO;
import dao.UsuarioDAOImpl;
import entidade.Telefone;
import entidade.Usuario;
import util.JpaUtil;
@ManagedBean(name = "UsuarioBean")
@RequestScoped
public class UsuarioBean {
private Usuario usuario;
private List<Usuario> listaUsuario;
private UsuarioDAO usuarioDAO;
private Telefone telefone;
private List<Telefone> listaTelefone;
public UsuarioBean() {
this.usuarioDAO = new UsuarioDAOImpl(JpaUtil.getEntityManager());
this.usuario = new Usuario();
this.listaUsuario = new ArrayList<Usuario>();
this.listaUsuario = this.usuarioDAO.listarTodos();
this.telefone = new Telefone();
this.listaTelefone.add(telefone);
this.usuario.setTelefones(listaTelefone);
}
public void salvar() {
this.usuarioDAO.inserirUsuario(this.usuario);
System.out.println("------ Salvou -----");
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public List<Usuario> getListaUsuario() {
return listaUsuario;
}
public void setListaUsuario(List<Usuario> listaUsuario) {
this.listaUsuario = listaUsuario;
}
public UsuarioDAO getUsuarioDAO() {
return usuarioDAO;
}
public void setUsuarioDAO(UsuarioDAO usuarioDAO) {
this.usuarioDAO = usuarioDAO;
}
public Telefone getTelefone() {
return telefone;
}
public void setTelefone(Telefone telefone) {
this.telefone = telefone;
}
}
SEGUE O DAO
package dao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import entidade.Usuario;
public class UsuarioDAOImpl implements UsuarioDAO {
private EntityManager ent;
public UsuarioDAOImpl(EntityManager ent) {
this.ent = ent;
}
public boolean inserirUsuario(Usuario usuario) {
EntityTransaction tx = ent.getTransaction();
tx.begin();
ent.persist(usuario);
tx.commit();
return true;
}
public void alterarUsuario(Usuario usuario) {
EntityTransaction tx = ent.getTransaction();
tx.begin();
ent.merge(usuario);
tx.commit();
}
public void removerUsuario(Usuario usuario) {
EntityTransaction tx = ent.getTransaction();
tx.begin();
ent.merge(usuario);
tx.commit();
}
public Usuario pesquisarUsuario(int id) {
Usuario usuario = ent.find(Usuario.class, id);
return usuario;
}
public List<Usuario> listarTodos() {
Query query = ent.createQuery("from USUARIO U");
@SuppressWarnings("unchecked")
List<Usuario> usuarios = query.getResultList();
return usuarios;
}
public List<Usuario> pesquisar(Usuario pergunta) {
Query query = ent.createQuery("from Pergunta p where 1=1 ");
List<Usuario> usuarios = query.getResultList();
return usuarios;
}
}
SEGUE O UTIL
package util;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class JpaUtil {
private static EntityManagerFactory factory;
static {
factory = Persistence.createEntityManagerFactory("BancoDesafioSebrae");
}
public static EntityManager getEntityManager() {
return factory.createEntityManager();
}
public static void close() {
factory.close();
}
}
SEGUE O persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="BancoDesafioSebrae" >
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>entidade.Usuario</class>
<class>entidade.Telefone</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:testdb" />
<property name="javax.persistence.jdbc.password" value="" />
<property name="javax.persistence.jdbc.user" value="SA" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
</properties>
</persistence-unit>
SEGUE O POM.XML
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>DesafioSefaz</groupId>
<artifactId>DesafioSefaz</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>DesafioSefaz Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.13</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.13</version>
</dependency>
<!-- PrimeFaces -->
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>7.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.4.6.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.webjars/font-awesome -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<version>5.11.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.transaction/jta -->
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<finalName>DesafioSefaz</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>WebContent\WEB-INF\web.xml</webXml>
</configuration>
</plugin>
</plugins>
</build>
pronto acho que e tudo que precisam. espero que possam me ajudar