Re:[DÚVIDA] Problemas ao executar .jar - Me ajudem por favor [RESOLVIDO]

4 respostas
iagodantascg

Então, eu desenvolvi um programa simples para uma locadora. Faz cadastros de clientes e filmes, contagem de estoque e tudo mais.
Até aí tudo bem, o programa está funcionando as mil maravilhas, do jeito que eu quero, MAAAAAS, isso quando eu executo a partir do IDE.

Quando peço pro NetBeans fazer a construção do projeto ele faz e gera o arquivo .jar perfeitamente. O problema é ao executa-lo. A minha JVM inicialmente devolvia um erro de que não era possivel carregar a classe principal. Dei uma olhada por aqui no GUJ e “achei” a solução pra isso. Mudei no meu manifest.mf o Main-Class (que estava ausente). E agora aparecem dois tipos de erros dependendo de como coloco o caminho dentro do manifest.

Para vocês entenderem, minha classe principal (SCE) esta dentro do pacote graphic (ficando graphic.SCE).

Sendo assim, adicionei ao manifest a seguinte linha > Main-Class: graphic.SCE
Quando salvo e executo arquivo desta maneira simplesmente não acontece nada. Jah vasculei inclusive os processos abertos no meu OS e a JVM não está entre eles!
Se eu mudo o caminho, a JVM me devolve uma mensagem dizendo que a Main-Class não foi encontrada. (Isto significa que o caminho a ser colocado no manifest é realmente ‘graphic.SCE’, não é?)

Algumas informações acho que podem ser a causa do problema:

  • Estou utilizando arquivos para gravar objetos;
  • Faço uso da impressora.

Por favor, me ajudem. Jah perdi um bom tempo tentando resolver isso e até agora não fiz quase nenhum avanço.
Agradeço desde jah.


Meu manifest.mf está assim:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: 1.6.0_21-b07 (Sun Microsystems Inc.)
Main-Class: graphic.SCE

4 Respostas

romarcio

Tenta rodar esse jar pela linha de comando, dai se tiver erro, vai dizer alguma coisa.
Copia o erro e posta aqui.

#java -jar nomedojar

iagodantascg

Deu isso aqui ó:

D:\My Workspace\SCE\dist>java -jar SCE.jar

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at software.cadastro.Cadastro.salvar(Cadastro.java:99)

at software.cadastro.Cadastro.atualiza(Cadastro.java:120)

at software.cadastro.Cadastro.(Cadastro.java:20)

at graphic.SCE.(SCE.java:22)

at graphic.SCE$8.run(SCE.java:212)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

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

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(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)

Será problema na minha classe? = /

romarcio

esse é o problema java.lang.NullPointerException.

Posta a sua classe Cadastro e sua main.

iagodantascg

Obrigado romacio pela anteção, mas acabo de conseguir resolver.

Realmente, o NetBeans ao construir meu projeto, cria o arquivo manifest com problemas. Faltando a linha em que é declarado a classe principal do meu projeto.
O problema desta foi também foi “culpa” do NetBeans, que ao construir o projeto, não incluia o arquivo em que salvo as informações da locadora junto do pacote .jar. Sendo assim, ele não conseguia executar o programa, ja que assim o fiz. Para não executar caso o arquivo não fosse encontrado.

A solução foi criar um caminho a partir do diretorio em que o arquivo .jar se encontrava, especificando exatamente da forma que o meu programa procuraria.
Daí quando tentei rodar, ele rodou. (y)

Abração.

Criado 25 de outubro de 2010
Ultima resposta 25 de out. de 2010
Respostas 4
Participantes 2