Desenvolvendo com JSF

11 respostas
edvilson

Boa tarde amigos estou lendo uma apostila da caelum sobre aplicação java para web e estou fazendo o projeto que tem de exemplo na apostila mas cheguei numa parte na qual teste a inserção de dados no banco de dados e ao executar o teste da erro eu nao consegui entender esse erro. Aqui está o código da classe testaInsere. Quem quiser da uma olhada la no site da caelum a apostila é a FJ-21 Java para Desenvolvimento Web

package br.com.caleum.jdbc.teste;

import br.com.caleum.jdbc.dao.contatoDAO;

import br.com.caleum.jdbc.modelo.Contato;

import java.sql.SQLException;

public class testaInsere {

public static void main(String[] args) throws SQLException{
 Contato contato = new Contato();
 contato.setNome("Joao");
 contato.setEmail("jolo.com");
 contato.setEndereco("logo ali");

 contatoDAO dao = new contatoDAO();
 dao.adiciona(contato);

    System.out.println("Gravado!");
}

}

Aqui o erro que o netBeans encontra

Exception in thread main java.lang.NoClassDefFoundError: br/com/caleum/jdbc/modelo/Contato

at br.com.caleum.jdbc.teste.testaInsere.main(testaInsere.java:11)

Caused by: java.lang.ClassNotFoundException: br.com.caleum.jdbc.modelo.Contato

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

 1 more

Java Result: 1

Se alguem puder me ajudar agradeço desde já.

11 Respostas

luxu

a classe não está sendo encontrada, post seu arquivo hibernate.cfg.xml axo q o problema é lá.

edvilson

Cara eu não tenho esse arquivo! :!: :shock:

Dan_xD

Boa Tarde amigo.

Você realmente tem uma classe “Contato” neste caminho: br.com.caleum.jdbc.modelo.Contato; ?

Pela Exception está dizendo que a classe não foi encontrada.

edvilson

Boa tarde amigo,
package br.com.caleum.jdbc.modelo;

public class Contato {

private Long id;

private String nome;

private String email;

private String endereco;
//Métodos GETS
    public String getNome(){
    return this.nome;
    }

    public String getEmail(){
    return this.email;
    }

    public String getEndereco(){
    return this.endereco;
    }

    public Long getId(){
        return this.id;
    }

//Métodos SETS
    public void setNome(String novo){
    this.nome = novo;
    }

    public void setEmail(String novo){
    this.email = novo;
    }

    public void setEndereco(String novo){
    this.endereco = novo;
    }

    public void setId(Long novo){
    this.id = novo;
    }

}

essa é classe contato.

desde já obrigado

Dan_xD

Boa Tarde.

Já que a classe que ele diz estar faltando, está em ordem tente utilizar o “Limpar e Construir” no projeto.

edvilson

Boa tarde,

Pois ja fiz esse procedimento e não resolveu não sei o que pode ser, eu criei uma classe que teste conexão com BD e ela funciona normal.

Criei essa classe

package br.com.caleum.jdbc.teste;

import br.com.caleum.jdbc.connectionFactory;

import java.sql.Connection;

import java.sql.SQLException;
public class testaConexao {

public static void main (String[] args) throws SQLException{

Connection con = connectionFactory.getConnection();

con.close();

}

}
Dan_xD

Amigo, Testei aqui o mesmo exemplo da apostila e copiei os seus códigos.

Ambos rodaram normal, tirando o fato de que o nome do pacote está “caleum” e na apostila está “caelum”, está tudo ok por aqui.

Não deu nenhuma confusão com esses nomes dentro da sua aplicação?

PS: Qualquer coisa se você quiser, pode anexar o seu projeto e eu abro ele aqui para ver se da o mesmo problema.

edvilson

Eu olhei não encontrei nenhum erro tem como tu me manda tuas pastas?
meu email [email removido]

Valeu pela ajuda abraço

edvilson

tem uma coisa também eu utilizo senha no banco mas indiquei caminho tudo direitinho com usuario ea senha e ta rolando no teste de conexao ta conectando

edvilson

Inseri a classe DAO no teu projeto dai ele mostra esse erro agora.

Conectando ao banco

Exception in thread “main” java.lang.NullPointerException

at br.com.caleum.jdbc.dao.contatoDAO.adiciona(contatoDAO.java:29)

at javaapplicationteste.Main.main(Main.java:21)

Java Result: 1

:?

Dan_xD

Eu respodi este erro no seu email, só vai precisar reconfigurar o acesso ao banco que está com as informações do meu banco. O erro ocorre por que no seu DAO não está instanciando o Statement, por isso ele está Null quando está tentando inserir no banco.

Criado 11 de outubro de 2011
Ultima resposta 13 de out. de 2011
Respostas 11
Participantes 3