Erro ao abrir uma janela que acessa dados de um BD

11 respostas
J

Galera,

Estou com o seguinte problema:

Criei o jar do meu projeto, desenvolvido em JBuilder 2005 Enterprise e após executar o jar quando eu tento acessar uma janela que tenha acesso a banco de dados (MySQL através de ODBC) da a seguinte mensagem de erro (da o erro apenas na janela que acessa banco de dados, nas outras que nao acessam abre normalmente):

Exception in thread AWT-EventQueue-0 java.lang.NoClassDefFoundError: com/borland/dx/dataset/DataSet         at admcalo.FrameMain.jMenuItem1_actionPerformed(FrameMain.java:109)

at admcalo.FrameMain_jMenuItem1_actionAdapter.actionPerformed(FrameMain.

java:176)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.AbstractButton.doClick(Unknown Source)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown

Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

Alguem tem ideia de como resolver isso?

O meu manifest.txt está assim:

Manifest-Version: 1.0
Main-Class: admcalo.ADMCalo
Name: admcalo/ADMCalo.class
Class-Path: lib/mysql-connector-java-3.1.10-bin-g.jar lib/mysql-connector-java-3.1.10-bin.jar

Valeu!!!

11 Respostas

J

O erro dá a entender que ele não está achando uma classe que é referenciada no jMenuItem1.

Veja se as classes nesse menu estão naqueles .jar que você colocou no class-path.

J

Na verdade todas as classes estão incluídas no projeto, inclusive eu fiz um teste colocando todo o diretório lib do JBuilder dentro do diretório classes onde estão os .class do projeto, ao gerar o .jar foi criado o arquivo com 78Mb, ou seja, ele incluiu todas as classes e arquivos .jar que estão neste diretório classes, mesmo assim o erro continua o mesmo, ao abrir uma janela que possua acesso ao banco de dados da erro.

J

Antes de fazer o .jar funciona no JBuilder, neh? E pela linha de comando com o java.exe funciona?

J

Se eu rodar o programa pelo JBuilder funciona tudo, abre todas as janelas que possuem acesso ao banco de dados normalmente, só da erro se eu rodo pelo .jar mesmo.

J

Mas e com o java.exe executando pela linha de comando? O .class funciona?
Se não funcionar o problema deve ser com o classpath nas variáveis de ambiente.

J

Acabei conseguindo criar o .jar corretamente.

O erro ocorre quando eu crio o .jar pelo prompt com o comando: jar …

Agora inseri no projeto (JBuilder 2005) uma Open Tool, inicialmente também criou o .jar com problemas, então eu informei que gostaria que fosse criado automaticamente o manifest, continuou com problema, depois eu editei o manifest criado pelo JBuilder e vi que ele estava em branco, então inseri apenas 2 linhas, uma com “Main-Class” e seus parâmetros e a outra com “Name” e seus parâmetros, depois disso solicitei que fosse gerado o jar e tudo funcionou, já testei em outros micros que não tem o JBuilder instalado e tudo funciona, só achei que o .jar ficou grande, o projeto possui 4 janelas com acesso a banco de dados e 1 sem acesso a banco de dados, apenas com componentes JLabel, o .jar ficou com 1.3Mb, mas tudo bem, pra quem desenvolve em Delphi isso já é normal…

Valeu!

R

Ola Amigo. Estou procurando alguel que entenda do JBuilder, pois sou iniciante e estou usando o JBuilder, principalmente pelo recurso de gerar um .exe. Bem, nao sei se vc tem conhecimento do JBuilder acessando um banco de dados em access, pois estou tendo problema para atualizar registros. Voce pode me ajudar ? Se puder, posso enviar dados mais completos. Desde ja, muito obrigado !

J

Ola Roberto,

Estamos praticamente no mesmo nivel em JBuilder (faz apenas 2 semanas que eu instalei pra testar), porém acho que consegui fazer os executáveis que você mensionou, mas eu não estou utilizando uma base de dados Access e sim MySQL, entretanto a forma de conexão acredito que seja a mesma já que estou utilizando um driver ODBC pra fazer a conexão (Painel de Controle/Ferramentas Administrativas/Data Sources (ODBC) ).

Bom, quanto a gerar executáveis no JBuilder 2005 eu fiz o seguinte, após criar o projeto (claro) acessei o menu File / New e no Object Gallery eu selecionei no treeview a opção Archive, nesta opção abriu vários botões, um deles com o nome “Executable JAR”, inserindo esta opção segue um passo-a-passo, para criar o executável você já deve ter criado o .jar do seu projeto, pois esta opção (Executable JAR) solicitará de qual .jar será criado o executável, feito isto no final do passo-a-passo será solicitado para quais sistemas operacionais deverá ser criado os executáveis, eu já criei os executáveis de alguns projetos e todos eles funcionaram perfeitamente.

Espero ter ajudado.

R

Ola novamente. Desculpe ter demorado tanto para responder, mas os ultimos dias foram problematicos para mim.
Mas vamos la.
Realmente, eu ja gerei o executavel anteriormente, da forma que vc informou, e ele executa normalmente. A unica coisa que eu nao consegui resolver ainda, e o fato do arquivo executavel, nao ficar com um icone associado a ele, devendo ser feito um link manualmente com um icone. Procurei na documentacao do JBuilder, mas nao encontrei uma solucao para isso.
Mas mudando de assunto, vc trabalha com o Java a quanto tempo ?
O meu tempo de java e o mesmo que o jbuilder.
Obrigado e um abraco !
Roberto

J

Olá Roberto,

Realmente o esquema do ícone aconteceu comigo também, na realidade não pesquisei nada sobre o assunto para resolver isso…

Estou utilizando java (apenas para testes) fazem 3 semanas apenas.

Instalei outras IDE’s além do JBuilder (NetBeans e Eclipse) mas não achei as facilidades para utilizar a parte gráfica como existe no JBuilder, na verdade isso vem mesmo de um vício do Delphi que já utilizo a mais de 10 anos…

[]'s

Jerônimo

R

Realmente, parece que estamos no mesmo barco. Seu vicio e o Delphi e o meu, o Access. O que vc disse realmente e uma verdade, pois tambem testei entre outros, o Eclipse e o JCreator, sendo que nenhum destes encontrei a facilidade do JBuilder na parte grafica. Ainda acho que o Java esta devendo uma interface mais amigavel. A principio, tambem pensei em usar o Delphi (uso hoje em pequenas aplicacoes) como ferramenta, pois ele tambem e portavel para o linux (creio que nao totalmente), diferentemente do que se diz do Java. Porem, acho o Java bem mais lento que o Delphi e ate mesmo o Access, nao sei se com o banco de dados que vc usa tambem acontece. Caso eu ache a solucao para o icone fantasma, eu te informo.
Um abraco !
Roberto

Criado 6 de agosto de 2005
Ultima resposta 21 de ago. de 2005
Respostas 11
Participantes 3