Conexão com banco (Persistence.xml Hibernate)

Eai pessoal, tudo bom?
Estou começando agora a mexer com java, e já estou apanhando para o Hibernate.
Ao tentar conectar com o banco de dados aparece a seguinte mensagem de erro na saída do console.

Exception in thread “main” java.lang.NoClassDefFoundError: org/jboss/jandex/IndexView
at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:51)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:129)
at org.hibernate.ejb.HibernatePersistence.getEntityManagerFactoryBuilderOrNull(HibernatePersistence.java:93)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:86)
at org.hibernate.ejb.HibernatePersistence.getEntityManagerFactoryBuilderOrNull(HibernatePersistence.java:101)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:67)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at crude.Crude.main(Crude.java:24)
Caused by: java.lang.ClassNotFoundException: org.jboss.jandex.IndexView
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 10 more
C:\Users\ricardo-rodrigues\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1

Meu persistence.xml ta assim:

Já no método main

package crude;

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

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

   EntityManagerFactory ef = Persistence.createEntityManagerFactory("test");
   EntityManager em = ef.createEntityManager();
   Cliente cliente = new Cliente();
   em.persist(cliente);
   System.out.println("!");

}

}

e a classe cliente

package crude;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

class Cliente {
@Id
@GeneratedValue(strategy =GenerationType.IDENTITY)

private String nome;
private String telefone;
private String celular;

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}

public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
}

Preciso de ajuda, já tem 3 dias que não saio desse erro :cry: ,
Obrigado!

Se está começando agora, não deveria nem pensar em hibernate, né, fera?
O que sabe do básico do java? O que sabe sobre ORM em java?

A mensagem de erro diz que a classe especificada no erro não foi encontrada.

1 curtida

Obrigado pela dica mas você não me ajudou a resolver meu problema.

Se você estudar um pouco mais de java, antes de querer sair fazendo coisas que seu parco conhecimento permite, saberia resolver.
Eu disse o problema, basta você usar um pouco de cérebro e resolver. É extremamente fácil para quem estuda java identificar qual o jar/lib que falta a partir da classe indicada.

Aliás, provavelmente está inserindo os jars manualmente, uma prática totalmente falha e não recomendável. Aí, certamente vai ficar suscetível a tais problemas.

O erro é claro, a classe X não foi encontrada. Então baixe o jar que possui a classe X

1 curtida

Obrigado Mike ajudou bastante cara. Deu certo !

Kkkkk @darlan_machado desculpe meu parco conhecimento mas é assim que eu aprendo. Eu gosto de desafio. E deu certo, agora é só aprimorar mais. Mas de qualquer forma obrigado por esbanjar seu farto conhecimento comigo, pena que não foi de muita ajuda neh.