Jar roda no Xp e não roda no Vista

10 respostas
duds

Compilei no XP e no Vista, eclipse 3.1, 3.3 e 3.4, sempre roda no XP e nunca executa no Vista. erro “Could not find the main class. Program will exit.”
Alguém já viu isso??? não sei mais o que fazer.

10 Respostas

rafarcm

A VM esta instalada e com as variaveis de sistema configuradas no VIsta?

duds

java_home=c:/arquivosdeProgramas/java/jdk1.6
path=c:/arquivosdeProgramas/java/jdk1.6/bin
classpath=c:/arquivosdeProgramas/java/jdk1.6/lib

rafarcm

Verifique se o nome do package está usando alguma palavra reservada na hora de nomear packages!

duds

não creio que seja isso. esse jar roda em vários computadores, com jvms diferentes… só não roda no meu note que tem o Vista Instalado. o projeto dentro do eclipse roda no Vista normalmente, porém quando exporto (Claro que não me esqueci de adicionar a Classe main ao exportar…) ele não roda. “Could not find main class. Program will exit”
se tento rodar no prompt de comando java -jar Arquivo.jar e dá o seguinte erro: Unsupported major.minor version 49.0
que pelo que li é que a jvm que está tentando rodar o .jar é mais antiga que a que o eclipse está usando para compilar. o que não acontece. pois estava compilando e rodando na 1.6, agora ja coloquei para compilar na 1.5 e rodar na 1.6. o problema persiste…

thiagofesta

Já testou outros .jar?

T

O seu note, que tem o Java instalado, deve ter vindo instalado de fábrica com o Java 5.0. Outros podem ter vindo com o Java 6.0.

Eu recomendaria desinstalar o Java (JRE) que veio com o notebook, e instalar o mais novo que está no site da Sun (Java 6.0 Update 10), que corrige um monte de incompatibilidades que o Java tem com applets no Windows Vista com Internet Explorer, entre outras coisas.

duds

Cara, as jvms fui eu quem instalei. estou com a 1.6…
o último erro consegui resolver, o path estava pegando a jre da instalação do Oracle 1.3 e não a que eu havia colocado do próprio java 1.6. Isto resolveu parcialmente o problema.

Agora consigo rodar o jar na linha de comando: java -jar arquivo.jar (executa o programa normalmente)
Só que o mesmo jar se tento rodar com double-click não roda. Could not find main Class. uma saída é criar um .bat pra rodar pela linha de comando, mas não gostaria de utilizar essa saída, já que o correto seria o jar ser executado por 2 cliques.

Com isso exposto, sabemos que o jar está correto e funcionando corretamente, já que roda perfeitamente pela linha de comando.
o Vista está com a JDK certa pois tb roda normalmente… o problema é. Porque não roda com double-click?

Obrigado pela ajuda que estão me dando…

PS - criando o .bat funciona já testei…

T

Normalmente, quando vejo um jar. nunca acho que dá para executá-lo com um double-click.

Sempre acho que o WinRAR, WinZip ou outro cara é que vai abri-lo.

Nunca mando só um JAR para um cliente, que sei que vai dar problema mesmo. É muita coisa diferente entre a sua máquina e a do cliente para dar problema. Sempre mando um instalador, que cria um shortcut já configurado direitinho, com ícones bonitinhos e fáceis de usar. Nunca um JAR solto - você nem consegue mudar o ícone dele :frowning:

Eu recomendaria, se for um programa que você usa sempre, criar um shortcut para ele, onde você pode pôr um ícone seu personalizado, passar as opções adequadas (javaw -Xmx etc.)

T

De qualquer maneira, confira (usando o Prompt de Comando) se as associações de JAR estão corretas.

C:\>assoc .jar
.jar=jarfile

C:\>ftype jarfile
jarfile="C:\Arquivos de programas\Java\jre6\bin\javaw.exe" -jar "%1" %*

O mais provável é que a associação esteja errada. Digite "ftype /?" e veja como corrigir a associação.

duds

meu jarfile estava apontando para o jre1.3 alterei para o 1.6 , porém nada mudou continua dando o mesmo erro ao tentar rodar o .jar apenas com double-click.

em relação a distribuição para clientes concordo 100% com vc, porém este é um aplicativo pequeno para uso pessoal, e que as vezes faço pequenas alterações, por isso meu interesse em deixá-lo rodando direto do jar em minha máquina

valeu

Criado 27 de outubro de 2008
Ultima resposta 28 de out. de 2008
Respostas 10
Participantes 4