Executar arquivo .jar com clique duplo

27 respostas
renato1010

Ola pessoal

Estou com o seguinte problema:
Criei uma aplicação desktop no Netbeans 6.5, mas o arquivo jar gerado não executa a partir de um clique duplo, so funciona se for via prompt ou no NetBeans.
Gostaria de fazer com o arquivo execute com duplo clique para distribuir a aplicação.

Já pesquisei aqui no forum, li varias coisas a respeito mais nada resolve esse problema, também ja segui o tutorial de configuração do Java e até desinstalei tudo e instalei novamente, mas não executa com clique duplo de jeito nenhum.

Sempre da a mensagem de erro: “Could not find the main class: C:\projeto\proj\dist\meuprograma.jar. Program will exit.”
Pelo que entendi o java não ta encontrando a classe principal do programa, mas não sei como corrigir isso. Ja olhei o manifest e ta constando a classe principal la.
Como disse, o jar foi gerado no Netbeans e não fiz nenhuma alteração.
So para constar, converti o .jar gerado em .exe e funciona perfeito, mas não queria distribuir a aplicação com um .exe e sim como o .jar.
Uso a jkd 1.7

Agradeço qualquer ajuda

Renato

27 Respostas

Dirceu_Roden

Quando vc cria o jar na tela de saída o netbeans informa algo como:

To run this application from the command line without Ant, try:
java -jar “C:\projeto\proj\dist\meuprograma.jar”

Tente criar um atalho com esta linha de comando.

Felipe.JavaMan

Cara, vc pode criar um arquivo .bat
Assim com duplo clic você consegue executar a aplicação.

o sei arquivo .bat teria o seguinte coonteúdo:

java -jar [arquivo].jar

pmlm

No windows explorer, opções de pasta, altera o programa com que são abertos os ficheiros jar.

Põe java -jar “%1”

renato1010

Olá pessoal

Sim, o Netbeans da a mensagem abaixo quando crio o arquivo jar.

To run this application from the command line without Ant, try:
java -jar “C:\projeto\proj\dist\meuprograma.jar”

A opção de criar o arquivo .bat eu até ja tinha feito e funcionou, mas o arquivo .bat qualquer um pode alterar facilmente, então não acho legal.
Criar o atalho com o comando para executar o arquivo também funcionou, mas ele abriu a tela do prompt que chama o programa, so que a tela do prompt permanece aberta também e se fechar ela, fecha também a aplicação (no caso o arquivo .jar que esta executando).
Tem como fazer a prompt chamar a a aplicação e ficar so a tela dessa aplicação aberta?
Quanto a alterar o programa que abre os arquivos .jar colocando java -jar “%1” não consegui fazer, pois ele não tem a opção “avançado”.

O que não entendo é o seguinte: o arquivo .jar deveria executar normalmente com o clique duplo através da maquina virtual do java (javaw) e isso não está acontencendo.
Ja tentei de tudo e não consegui, e ja pesquisei bastante também, vi que várias pessoas teve o mesmo problema, mas não obtive respostas.

Renato Silva

KWill

renato1010:
Olá pessoal

Sim, o Netbeans da a mensagem abaixo quando crio o arquivo jar.

To run this application from the command line without Ant, try:
java -jar “C:\projeto\proj\dist\meuprograma.jar”

A opção de criar o arquivo .bat eu até ja tinha feito e funcionou, mas o arquivo .bat qualquer um pode alterar facilmente, então não acho legal.
Criar o atalho com o comando para executar o arquivo também funcionou, mas ele abriu a tela do prompt que chama o programa, so que a tela do prompt permanece aberta também e se fechar ela, fecha também a aplicação (no caso o arquivo .jar que esta executando).
Tem como fazer a prompt chamar a a aplicação e ficar so a tela dessa aplicação aberta?
Quanto a alterar o programa que abre os arquivos .jar colocando java -jar “%1” não consegui fazer, pois ele não tem a opção “avançado”.

O que não entendo é o seguinte: o arquivo .jar deveria executar normalmente com o clique duplo através da maquina virtual do java (javaw) e isso não está acontencendo.
Ja tentei de tudo e não consegui, e ja pesquisei bastante também, vi que várias pessoas teve o mesmo problema, mas não obtive respostas.

Renato Silva


Para rodar o seu arquivo jar via duplo-clique com “javaw”, seu aplicativo tem que ser daqueles que não sejam de “puro console”, tem que fazer uso de Swing/AWT/SWT e outros pacotes de interface gráfica disponíveis para Java.

Inté.

renato1010

Então, por isso mesmo.
Minha aplicação não é puro console, possui o ambiente gráfica (janelas, imagens, tabelas,etc)
Estou utilizando os compontes swing, awt, etc.
Funciona perfeitamente quando chamo no console, aí ela abre a aplicação e sua devida interface grafica.

Continuo tentando fazer funcionar…

Renato

renato1010

KWill:

Para rodar o seu arquivo jar via duplo-clique com “javaw”, seu aplicativo tem que ser daqueles que não sejam de “puro console”, tem que fazer uso de Swing/AWT/SWT e outros pacotes de interface gráfica disponíveis para Java.

Inté.

Então, por isso mesmo.
Minha aplicação não é puro console, possui o ambiente gráfica (janelas, imagens, tabelas,etc)
Estou utilizando os compontes swing, awt, etc.
Funciona perfeitamente quando chamo no console, aí ela abre a aplicação e sua devida interface grafica.

Continuo tentando fazer funcionar…

KWill

renato1010:
KWill:

Para rodar o seu arquivo jar via duplo-clique com “javaw”, seu aplicativo tem que ser daqueles que não sejam de “puro console”, tem que fazer uso de Swing/AWT/SWT e outros pacotes de interface gráfica disponíveis para Java.

Inté.

Então, por isso mesmo.
Minha aplicação não é puro console, possui o ambiente gráfica (janelas, imagens, tabelas,etc)
Estou utilizando os compontes swing, awt, etc.
Funciona perfeitamente quando chamo no console, aí ela abre a aplicação e sua devida interface grafica.

Continuo tentando fazer funcionar…


Então pode ser que o “javaw” que está sendo chamado para executar seu aplicativo seja de uma versão de especificação Java diferente da versão de especificação Java que foi utilizada para criar o aplicativo. Tive alguns problemas com aplicativos que criei que faziam uso de SystemTray, já que esse recurso só está disponível a partir do Java 1.6 e o “javaw” que era chamado no meu caso era um que só suportava Java 1.5, ocasionando erros “invisíveis” para mim na época. Reconfigure via menu do botão direito sobre o aquivo Jar, “Abrir Com…” para que o Windows use a versão correta do “javaw” para inicializar seu aplicativo.

Inté.

renato1010

Isso também não é. Criei a aplicação utilizando Netbeans 6.5 e a jdk 1.6 e não funcionou. Depois desinstalei tudo e reinstalei a jdk 1.7 para ver se funcionava, mas não deu em nada de novo. Já to pensando em distribuir a aplicação utilizando o .exe mesmo, ja que o .jar não funciona aqui de jeito nenhum.
Mas ainda não desisti, continuo tentando fazer funcionar.

Renato

Dirceu_Roden

vc já testou em algum outro computador ou só no teu???

MS0lhao

Convém experimentar noutro computador, aparentemente você fez tudo bem.

Dê aqui uma vista de olhos: http://java.sun.com/docs/books/tutorial/deployment/jar/index.html

Se não der, tente criar o .jar com o Eclipse IDE

samea

oi gente estou tentando exportar o .jar da minha app mas eu uso o look and feel liquid, mas na hora que eu exporto ela não mostra a tela com o look alguem ai sabe me dizer como que eu exporto o ja da minha app com o look and feel liquid???
Alguem ai sabe como fazer isso???
Me dê dicas por favor!!!
:shock:

MS0lhao

samea:
oi gente estou tentando exportar o .jar da minha app mas eu uso o look and feel liquid, mas na hora que eu exporto ela não mostra a tela com o look alguem ai sabe me dizer como que eu exporto o ja da minha app com o look and feel liquid???
Alguem ai sabe como fazer isso???
Me dê dicas por favor!!!
:shock:

No eclipse faça o seguinte:

File > Export …

Expanda a secção Java e escolha “Runnable JAR File”, isto faz com que todas as libs necessárias sejam incluídas no .jar.

Eu fiz assim e funcionou. :slight_smile:

samea

Eu nao tenho essa opção no meu eclipse quando eu expando o java ele so ma da duas uma é o jar file e o outro é o javadoc!!
Estou usando o

EasyEclipse-for-LAMP-1.2.2.2

sera que é por isso???

samea

Ei eu instalei o outro ecplise que tem o runable jar, eu consegui exportar o jar mas eu tenho uma imagem no meu botão o problema é que ela não aparece na imagem, e quando que apaguei o .jar para gerar um outro ele nao gerou mais por acontece isso.
Eu posso apagar o .jar e gerar outro como???
Ah! e como eu gero com a imagem no meu botão???
Por favor me ajudem ai!!

MS0lhao

samea:
Ei eu instalei o outro ecplise que tem o runable jar, eu consegui exportar o jar mas eu tenho uma imagem no meu botão o problema é que ela não aparece na imagem, e quando que apaguei o .jar para gerar um outro ele nao gerou mais por acontece isso.
Eu posso apagar o .jar e gerar outro como???
Ah! e como eu gero com a imagem no meu botão???
Por favor me ajudem ai!!

Eu crio um novo JAR sempre da mesma maneira, independentemente de o ter eliminado ou não.

Quanto à sua outra questão, sobre as imagens, elas têm de estar inseridas dentro do JAR.

Vamos imaginar a seguinte estrutura de directórios:

/
|_ src
…|_ código-fonte (.java)
…|_ imagens
…|_ (as suas imagens)

Depois via código utilizamos as imagens da seguinte maneira:

javax.swing.ImageIcon image = new javax.swing.ImageIcon(getClass().getResource(<caminho>/<nome_da_imagem>));

[size=9]Nota: No caso do exemplo que dei o caminho seria imagens/<nome_da_imagem>[/size]

Depois no fim é só gerar novamente o JAR e estará tudo a funcionar correctamente. (Pelo menos comigo funciona) 8)

samea

Valeu oobrigado pela dica!!!

renato1010

Então meus amigos, testei o meu jar em outra máquina e da o mesmo erro.
Somente para testar, baixei alguns arquivos jar da internet e todos deu o mesmo erro.
Testei esses que baixei também em outra maquina e tb não roda.

Renato

samea

Bom gente eu consegui gerar o .jar eu abri file -> exportar -> java-> runnable JAR file
como o nosso amigo ai falou, bom eu crei um diretorio e coloquei o meu projeto la dentro ai rodo na maquina de outro usuario, tenta fazer assim!!

MS0lhao

renato1010:
Então meus amigos, testei o meu jar em outra máquina e da o mesmo erro.
Somente para testar, baixei alguns arquivos jar da internet e todos deu o mesmo erro.
Testei esses que baixei também em outra maquina e tb não roda.

Renato

Tente criar o JAR com o eclipse.
Experimente executar o meu JAR com duplo-clique.

renato1010

Tente criar o JAR com o eclipse.
Experimente executar o meu JAR com duplo-clique.

Olá MS0lhao, baixei o teu jar e tentei executar com clique duplo e deu o mesmo erro que da quando tento executar o meu, ou seja: “Could not find the main class”.
Ja tentei várias maneiras, mas não consegui. Esse arquivo executa normalmente na sua maquina com um clique duplo?

Renato

MS0lhao

renato1010:
Tente criar o JAR com o eclipse.
Experimente executar o meu JAR com duplo-clique.

Olá MS0lhao, baixei o teu jar e tentei executar com clique duplo e deu o mesmo erro que da quando tento executar o meu, ou seja: “Could not find the main class”.
Ja tentei várias maneiras, mas não consegui. Esse arquivo executa normalmente na sua maquina com um clique duplo?

Renato

Sim, executa.
Você está usando Windows ou Linux?

renato1010

Sim, executa.
Você está usando Windows ou Linux?

Estou usando Windows Vista Ultimate, jdk 1.7 e o jar foi criado no Netbeans 6.5.

MS0lhao

renato1010:
Sim, executa.
Você está usando Windows ou Linux?

Estou usando Windows Vista Ultimate, jdk 1.7 e o jar foi criado no Netbeans 6.5.

Parece que o problema está na sua máquina, onde você arranjou o JDK 1.7?
Se puder mande-me o seu jar para eu ver se executa na minha máquina.

Edit: Instalei o JDK 1.7 na minha máquina e executei o programa normalmente com duplo-clique. :?

renato1010

Então, aqui não executando nenhum jar, nem o meu, nem o seu e nenhum outro que baixei da internet tb.
O jkd 1.7 eu baixei no site da Sun.
So lembrando que o jar funciona perfeitamente quando o executo através do prompt.
Vou desinstalar tudo aqui e instalar novamente para ver, ja fiz isso mas vou fazer novamente por desencargo de consciência.
Depoois coloco o resultado aqui.

Renato

Queops82

renato1010 wrote:
11/05/2009 21:14:08 Assunto: Executar arquivo .jar com clique duplo
Ola pessoal

Estou com o seguinte problema:
Criei uma aplicação desktop no Netbeans 6.5, mas o arquivo jar gerado não executa a partir de um clique duplo, so funciona se for via prompt ou no NetBeans.
Gostaria de fazer com o arquivo execute com duplo clique para distribuir a aplicação.

Já pesquisei aqui no forum, li varias coisas a respeito mais nada resolve esse problema, também ja segui o tutorial de configuração do Java e até desinstalei tudo e instalei novamente, mas não executa com clique duplo de jeito nenhum.

Sempre da a mensagem de erro: “Could not find the main class: C:\projeto\proj\dist\meuprograma.jar. Program will exit.”
Pelo que entendi o java não ta encontrando a classe principal do programa, mas não sei como corrigir isso. Ja olhei o manifest e ta constando a classe principal la.
Como disse, o jar foi gerado no Netbeans e não fiz nenhuma alteração.
So para constar, converti o .jar gerado em .exe e funciona perfeito, mas não queria distribuir a aplicação com um .exe e sim como o .jar.
Uso a jkd 1.7

Agradeço qualquer ajuda

Renato


Eu Sou Novo em programação em Java, mais reparei que esse jkd que você esta usando o jkd 1.7 não foi aceito pela Sun. :twisted:
Tive que tirar e voltar para o jdk 1.6.18 pra poder rodar meus aplicativos e ate alguns aplicativos da erro ao criar o jar com esse jdk

evaldo.dodo

renato1010:
Ola pessoal

Estou com o seguinte problema:
Criei uma aplicação desktop no Netbeans 6.5, mas o arquivo jar gerado não executa a partir de um clique duplo, so funciona se for via prompt ou no NetBeans.
Gostaria de fazer com o arquivo execute com duplo clique para distribuir a aplicação.

Já pesquisei aqui no forum, li varias coisas a respeito mais nada resolve esse problema, também ja segui o tutorial de configuração do Java e até desinstalei tudo e instalei novamente, mas não executa com clique duplo de jeito nenhum.

Sempre da a mensagem de erro: “Could not find the main class: C:\projeto\proj\dist\meuprograma.jar. Program will exit.”
Pelo que entendi o java não ta encontrando a classe principal do programa, mas não sei como corrigir isso. Ja olhei o manifest e ta constando a classe principal la.
Como disse, o jar foi gerado no Netbeans e não fiz nenhuma alteração.
So para constar, converti o .jar gerado em .exe e funciona perfeito, mas não queria distribuir a aplicação com um .exe e sim como o .jar.
Uso a jkd 1.7

Agradeço qualquer ajuda

Renato

Olá provavelmente esse problema já foi resolvido, mas caso alguém tenha dúvida…
Se você não consegue executar com dois cliques o arquivo.jar mesmo com o JVM instalado no Linux, provavelmente é porque o arquivo não está marcado como executável nas permissões do arquivo “Clique com o botão direito no arquivo.jar e vá em propriedades > Permissões > marque a opção ‘Permitir execução do arquivo como um programa’ > Fechar; agora clique com o botão direito do mouse no arquivo novamente e em abrir com e escolha o java instalado na sua máquina”.
Espero ter ajudado…

Criado 11 de maio de 2009
Ultima resposta 3 de fev. de 2011
Respostas 27
Participantes 9