Problema para rodar arquivo jar

16 respostas
F

Bom pessoal,

Criei um aplicativo em java…

Exportei ele pelo Eclipse no formato jar. Quando testei ele em casa rodou normalmente, entretanto quando fui testar hoje no serviço pareceu a seguinte mensagem e o programa não rodou:

Java Virtual Machine Launcher
Could not find the main class. Program will exit.

Pode ter ocorrido algum problema com as bibliotecas durante a exportação, pois no programa tinha sim a classe Main. Muito estranho.

Fico no aguardo de uma ajuda.

16 Respostas

Marlon_Meneses

se no seu projeto tiver o uso de alguma biblioteca, então é preciso que se tenha uma pasta de bibliotecas geralmente chamada de lib e no seu jar dentro do META-INF/MAINFEST.MF deve conter algo do tipo Class-Path: lib/bibliotecas.jar

F

nossa cara, nao entendi nada, sou meio iniciante em JAVA, esse foi na verdade meu primeiro projeto em java.

Não tem como compilar tudo em apenas um arquivo .jar ?

Caso não, como faço para exportar essa psata de bibliotecas e meu arquivos usar a referencia delas? E mais, como coloco esse Class-Path que seria essa tal referencia? Tem como me explicar certinho?

Vlw

M

Se você está gerando o jar pelo Eclipse acredito eu que seja criada a pasta lib com as bibliotecas automaticamente é só você copiar o jar e a pasta lib e levar tudo pra onde quer rodar o programa ;x

F

Não está sendo criada a pasta lib não. Estou exportando da seguinte maneira:
Na arvore de projetos do lado esquerdo, clico em cima do projeto e coloco Exportar JAR executavel, algo assim, ai dou um nome e depois salvo e pronto.

Esta é a maneira correta de se criar o jar?

Marlon_Meneses

faça assim:
abra o seu jar com o winzip, winrar, enfim…
entao vá para o diretorio META-INF
dentro vai ter um arquivo MANIFEST.MF
abra com um editor de texto como o bloco de notas

vai ter algo mais ou menos assim:

Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 11.0-b16 (Sun Microsystems Inc.) Main-Class: codes.Teste Class-Path: lib/jxl.jar X-COMMENT: Main-Class will be added automatically by build

Main-Class é a sua classe principal
Class-Path sao as libs
eu acho que o MANIFEST não está configurado direito
depois de configurado vc tem que distribuir o seu sistema com a pasta lib

L

O Eclipse possui um plugin que auxilia na criação de arquivo JAR. Procure na internet por FATJAR. Ele possui um wizard que vai te ajudar com essa historia toda de criar o arquivo MANIFEST.MF e também com o fato de você ter arquivos JAR dentro do seu JAR.

Hellmanss

Clica botão direito no projeto->export -> jarFile

Next -> Next (na ultima tela) Vai ter um botão "Browse" (o ultimo), cique e escolha a sua classe que contém o método MAIN

Esse é o procedimento…

Mas se funcionou no seu pc… acredito que seja a JVM(aconteceu comigo varias vezes)
Reinstale e funcionará! ;D

F

eh, tinha feito de outra maneira, mas assim Hellmanss as bibliotecas vao junto?

Tentei executar mas faz aquele barulho de erro do Windows. Acho q nao funciou… Dentro do Jar n tem a pasta Lib com as bibliotecas tb

F

Pessoal, fiz a alteração no MANIFEST.MF

ficou assim

Manifest-Version: 1.0
Class-Path: .
Main-Class: Tela_Principal.class

Acho que também pode ser a máquina virtual JAVA. A que está instalá-da aqui é essa:
Using JRE version 1.5.0_10 Java HotSpot™ Client VM

O que mais pode ser? Continua aparecendo aquela mensagem:

Java Virtual Machine Launcher
Could not find the main class. Program will exit.

Hellmanss

Amigo, tenta com o plugin FATJAR… deve resolver!

F

ok, mas como eu instalo uso ele no Eclipse?? Para o que ele serve?

Hellmanss

Instalação:
Extrai o arquivo jar para a pasta plugin do seu Eclipse.

Serve para exportar o seu projeto…

F

cara me parece que o pau eh na maquina virtual, pois testei em 2 pcs que tem a 1.6 e rodou legal. A que tem 1.5 nao rodou. Tem como eu configura o programa pra roda com a 1.5?? Ou pode nao ser a maquina virtual?

Hellmanss

Antes de extrair os jars. Clique com o botão direito no projeto e clique em propriedades. No menu “Java Compiler” vai ter um campo chamado “Compiler compliance level”, que determina qual a versão a ser usada!

Mas porque você não faz o que eu sugeri(reinstalar a JVM)? creio que não fez ¬¬’

F

Deu certo, assim que cheguei aqui pela manha fizemos a atualização da JVM para a versão 1.6 e funcionou… Bom saber… Vlw pela ajuda galera

denisspitfire

estava com o mesmo problema, reinstalando resolve. Creio que seja o seguinte, mesmo que voce codifique em java 6 e use o java 7 no eclipse, mesmo o código servindo para ambas as versões da problema. VLW

Criado 8 de junho de 2009
Ultima resposta 21 de mai. de 2012
Respostas 16
Participantes 6