Conexão com banco (Persistence.xml Hibernate)

6 respostas Resolvido
programaçãojpajsfhibernatejava
E

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!

6 Respostas

D

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.

E

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

D

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.

M
Solucao aceita

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

E

Obrigado Mike ajudou bastante cara. Deu certo !

E

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.

Criado 12 de setembro de 2018
Ultima resposta 12 de set. de 2018
Respostas 6
Participantes 3