Me ajudem por favor!

15 respostas
leozitop

Ta dando o seguinte erro qdo executo o código q conecta com o mysql.
Será que é o “mysql-connector-java-5…” qua ta errado?

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)

Se alguem souber do tipo, ficarei mto grato.

Abço!

15 Respostas

henriquedamota

confere seu build path… as vezes vc num fez refencia a ela!

flw!

lucianno

duas coisas por enquanto…

  • como está sua linha de conexão, assim…
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=abc");

considerando que seu password de root é “abc”

  • sua classpath tem a seguinte declaração: “C:\Arquivos de programas\Java\jrex.x.x_xx\lib\ext\mysql.jar” ???

do mais, poderia postar o código ai para a galera.

Obs.: Acho que se tivesse colocado como Assunto algo mais específico, seria mais prático :smiley: até mais,

Luciano

Jair_Rillo_Junior

Use títulos nos tópicos mais explicativos a sua duvida, não simplesmente : “me ajudem por favor” “estou com problema” “socorro”, etc…

leozitop

ok, desculpem, como ao stava acoetumado a postar em forum....
Mas colocarei sim topicos mais especificos.

Seguinte minha linha de conexao esta assim:

public CadFornecedorDAO() {
        url = "jdbc:mysql://localhost:3306/hercilioti";
        //url = "jdbc:odbc:cliente";

        try {
            Class.forName("org.gjt.mm.mysql.Driver"); //MYSQL
           

          //  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//access

            conn = DriverManager.getConnection(url,"root", "");
            stmt = conn.createStatement();
        } catch (SQLException e) {
            System.out.println("Error: " + e);
        } catch (ClassNotFoundException e) {
            System.out.println("Error: " + e);
        }
    

}

e eu estou usando o xampp q tem instalado o apache e cliente mysql 5.0.51b.

Onde eu coloco o mysql-connector-java-5.0.8.jar ? ou se nao for isso pq esse erro:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)

Marky.Vasconcelos

Nas novas versões do Driver do MySql o pacote é org.com.mysql.Driver e não org.gjt.mm.mysql.Driver como voce colocou.

leozitop

Mark, substitui como vc falou mas agora ta dando q o package nao existe…

doug

Olá
Creio que não seja exatamente ae o erro… mas se for o class indicado esse class bem antigo
hoje não se usa mais… tenta substituir “org.gjt.mm.mysql.Driver” por “com.mysql.jdbc.Driver”
acho que deve solucionar, mas se não solucionar tente fazer debug mais profundo!!

Dai volte a postar a linha do erro!!

Espero ter ajudado
Flwsss

Marky.Vasconcelos

Errei não é org.com.mysql.Driver é com.mysql.jdbc.Driver

Malz

leozitop

ja tentei usar todos esses class:

public CadFornecedorDAO() {
        url = "jdbc:mysql://localhost:3306/hercilioti";
        //url = "jdbc:odbc:cliente";

        try {
            Class.forName("com.mysql.jdbc.Driver");
            //Class.forName("org.com.mysql.Driver");
            //Class.forName("org.gjt.mm.mysql.Driver");
           

          //  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//access

            conn = DriverManager.getConnection(url,"root", "");
            stmt = conn.createStatement();
        } catch (SQLException e) {
            System.out.println("Error: " + e);
        } catch (ClassNotFoundException e) {
            System.out.println("Error: " + e);
        }
    

}

mas continua dando o msmo erro:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)

Marky.Vasconcelos

É só isso o erro?

Posta a StackTrace completa.

leozitop

StackTrace:

init:

deps-jar:

compile-single:

run-single:

Exception in thread AWT-EventQueue-0 java.lang.NoClassDefFoundError: org/aspectj/lang/Signature

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:169)

at DAO.CadFornecedorDAO.(CadFornecedorDAO.java:39)

at FACADE.CadFornecedorFacade.(CadFornecedorFacade.java:21)

at BEANS.CadFornecedorBean.(CadFornecedorBean.java:23)

at herti.CadFornecedor.(CadFornecedor.java:20)

at herti.Principal.jMenuItem1ActionPerformed(Principal.java:190)

at herti.Principal.access$400(Principal.java:12)

at herti.Principal$5.actionPerformed(Principal.java:86)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.AbstractButton.doClick(AbstractButton.java:357)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1261)

at java.awt.Component.processMouseEvent(Component.java:6094)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5859)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4296)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2454)

at java.awt.Component.dispatchEvent(Component.java:4296)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:284)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.Signature

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

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

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

at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:219)

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

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

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

 36 more

CONSTRUÍDO COM SUCESSO (tempo total: 11 segundos)
victorwss

Aparentemente você tem alguma dependência com o AspectJ.
Das duas uma, ou você tenta remover essa dependência (ou seja, retirar o código, JAR ou qualquer outra coisa que procure isso), ou então coloca o JAR do AspectJ no classpath.

EDIT: Você postou ao mesmo tempo que eu :slight_smile: Coloca aí o código de CadFornecedorDAO.java.

leozitop
package DAO;



import dto.CadFornecedorDTO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;




/**
 *
 * @author Leonardo
 */
public class CadFornecedorDAO {

    String url;
    Connection conn;
    Statement stmt;
    ResultSet rs;
    
    
    public CadFornecedorDAO() {
        url = "jdbc:mysql://localhost:3306/hercilioti";
        //url = "jdbc:odbc:cliente";

        try {
            Class.forName("com.mysql.jdbc.Driver");
            //Class.forName("org.com.mysql.Driver");
            //Class.forName("org.gjt.mm.mysql.Driver"); //MYSQL
           

          //  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//access

            conn = DriverManager.getConnection(url,"root", "");
            stmt = conn.createStatement();
        } catch (SQLException e) {
            System.out.println("Error: " + e);
        } catch (ClassNotFoundException e) {
            System.out.println("Error: " + e);
        }
    

}
    
    
    public void salvaCadFornecedor(CadFornecedorDTO cDTO) {
        try {
            String query = "INSERT INTO fornecedor (fornecedor,contato,fone1,fone2 )VALUES ('" +
                    cDTO.getFornecedor()+ "','"+
                    cDTO.getContato()+ "','"+
                    cDTO.getFone1()+ "','"+
                    cDTO.getFone2()+ "')";
           System.out.println("*************   "+cDTO.getFornecedor());
            stmt.executeUpdate(query);
        } catch (SQLException e) {
            System.out.println("ERROR: " + e);
        }
    }   
    
    
    public void  excluiFornecedor(int cod) throws SQLException
    {
    String query = "DELETE * FROM fornecedor WHERE codigo = '"+ cod + "'";
    stmt.executeUpdate(query);    
        
    }    
    
    
    public List<CadFornecedorDTO> getTodosFornecedores() {
        List l = new ArrayList();
        CadFornecedorDTO cDTO = new CadFornecedorDTO();
        try {
            String query = "SELECT * FROM fornecedores";
            rs = stmt.executeQuery(query);
            while (rs.next()) {
                cDTO.setCod(rs.getInt("codigo"));
                cDTO.setFornecedor(rs.getString("nome"));
                l.add(cDTO);
            }

        } catch (SQLException e) {
            System.out.println("ERROR: " + e);
        }
        return l;
    }
    
    
    public CadFornecedorDTO buscaPorNome(String n) throws SQLException {
        CadFornecedorDTO cDTO = new CadFornecedorDTO();
        String query = "SELECT * FROM fornecedores WHERE  fornecedor = '" + n + "'";
        stmt.clearBatch();
        rs = stmt.executeQuery(query);
        rs.next();
        if (rs != null) {
            cDTO.setCod(rs.getInt("codigo"));
            cDTO.setFornecedor(rs.getString("fornecedor"));
            cDTO.setContato(rs.getString("contato"));
            cDTO.setFone1(rs.getString("fone1"));
            cDTO.setFone2(rs.getString("fone2")); 
        return cDTO;
        }
        else
        {
          return null;
        }
    
    }     
    
    public void fechaConexao() {
        try {
            stmt.close();
            conn.close();
        } catch (SQLException e) {
        }
    } 
    
    
    
    
    
}
leozitop

Pessoal grato por me ajudarem. É q estou começado agora e nao tenho mtas pessoas a minha volta para trocar ideias e sim alguns livros aqui ao meu lado…

Isso tudo ai em cima é para fazer um cadastro e nao to conseguindo conectar como mysql…

victorwss

Parece que o problema é mais em baixo.
A linha 39 que é onde está o problema é um comentário, supondo que você postou exatamente o arquivo sem alterar um único espaço em branco.
O class.forName invoca a classe do MySQL, mas o que aparece é o AspectJ. O erro ocorre dentro do forName, antes que o MySQL ou qualquer outra coisa seja chamada.

Provavelmente você sempre roda uma versão antiga ou inválida da classe e o compilador não a recompila. Delete todos os arquivos .class do projeto para limpá-lo de qualquer lixo e recompile.

Outra possibilidade é que seu JDK ou JRE esteja defeituoso ou que haja lixo dentro da pasta lib deles (lixo = JARs que não deveriam estar lá, mas estão).

A propósito, o seu projeto usa o AspectJ? Se sim, pode ser alguma coisa errada nele. Se não, então há alguma coisa poluindo sua JDK e/ou JRE ou o .class carregado está errado.

Criado 17 de outubro de 2008
Ultima resposta 19 de out. de 2008
Respostas 15
Participantes 7