RESOLVIDO - Could not find any META-INF/persistence.xml file in the classpath

[code]
Estou tentando criar uma pequena aplicação com JSF e JPA e estou com o seguinte erro:

INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath
Exception in thread “main” java.lang.ExceptionInInitializerError
at br.com.entities.PersistidorDeAutomovel.main(PersistidorDeAutomovel.java:15)
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named default
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)

Obs.: Se este números a frente do arquivo Persistence.java são as linhas do arquivo, então tem duas coisas engraçadas:
Meu arquivo não chega a ter esses números de linha, e tb seu nome não está com a primeira letra “p” em maiúsculo.

at br.com.entitymanager.JPAUtil.(JPAUtil.java:10)
… 1 more

Já procurei muito sobre este erro e não consegui solucionar.
O que mais indicam é que o arquivo persistence.xml deve estar na pasta META-INF.
Outras respostas são paraquem está usando Eclipse, não é o meu caso eu uso NetBeans com MySQL.
Alguém pode ajudar?

Eis meus códigos:

persistente.xml

<?xml version="1.0" encoding="UTF-8"?>




br.com.entities.Automovel











web.xml

<?xml version="1.0" encoding="UTF-8"?> javax.faces.PROJECT_STAGE Development Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.faces 30 index.xhtml

Automovel.java
import java.io.Serializable;
import javax.persistence.*;

@Entity
public class Automovel implements Serializable {

@Id 
@GeneratedValue(generator="id_automovel",strategy=GenerationType.SEQUENCE)
@Column(name="id")
private Long id; 
private Integer anoFabricacao;
private String modelo;
private String observacoes;

public Automovel(){
}

public Integer getAnoFabricacao() {
    return anoFabricacao;
}

public void setAnoFabricacao(Integer anoFabricacao) {
    this.anoFabricacao = anoFabricacao;
}

public String getModelo() {
    return modelo;
}

public void setModelo(String modelo) {
    this.modelo = modelo;
}

public String getObservacoes() {
    return observacoes;
}

public void setObservacoes(String observacoes) {
    this.observacoes = observacoes;
}

}

PersistidorDeAutomovel
package br.com.entities;

import br.com.entitymanager.JPAUtil;
import br.com.entities.Automovel;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class PersistidorDeAutomovel {
public static void main(String[] args) {

    EntityManager em = JPAUtil.getEntityManager();
    
    Automovel auto = new Automovel();
    auto.setAnoFabricacao(2010);
    auto.setModelo("Ferrari");
    auto.setObservacoes("Nunca foi batido");
    EntityTransaction tx = em.getTransaction();
    tx.begin();
    em.persist(auto);
    tx.commit();
    em.close();
}

}

JPAUtil
package br.com.entitymanager;

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

public class JPAUtil {
private static final EntityManagerFactory emf = Persistence.createEntityManagerFactory(“default”);
public static EntityManager getEntityManager() {
return emf.createEntityManager();
}
}

Opa blz?

  1. Quando postar, coloque seu código envolto pela tag . Fica mais fácil de ler
  2. Não precisar jogar esse monte de código, apenas dificulta. Espere alguém pedir por códigos específicos
  3. Onde você colocou seu arquivo persistence.xml? Está em qual diretório? A pasta META-INF tem que estar no mesmo diretório que os arquivos.

Desculpe, como coloco esta tag, paramim apaarceu:

view plaincopy to clipboardprint?

Segue imagem de como meu projeto está organizado


[b]Projeto JSF-JPA[/b]
[b]Páginas WEB[/b]
  [b]WEB-INF[/b]
    web.xml
  index.xhtml
[b]Pacotes de Código Fonte[/b]
  META-INF
    context.xml
    persistence.xml
[b]br.com.entities[/b]
  Automovel.java
  PersistidorDeAutomovel.java
[b]br.com.entityesmanager[/b]
  JPDUtil.java
Bom dia!

E aí pessoal, ninguém se habilita?

Ninguém pode ajudar?

E ai galera será que marcaram um "X" no meu código para que ninguém responda?

Olá amigo, também estou lendo o livro de JPA e JSF e tive o mesmo problema, para resolvê-lo é necessário
incluir a pasta WEBContent no seu classpath.

Para fazer isso, basta abrir as propriedades do projeto, lá na opção “java build path” clique no botão “Add folder”, então é só selecionar a pasta WebContent. Abraço.

Desculpe a coveirada, pensei que ainda estava em 2013 :slight_smile: