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

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.

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

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

Põe java -jar “%1”

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

[quote=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[/quote]
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…

Renato

[quote=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é.[/quote]

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…

[quote=renato1010][quote=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é.[/quote]

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… [/quote]
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é.

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

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

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

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:

[quote=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: [/quote]

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:

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???

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!!

[quote=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!![/quote]

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)

Valeu oobrigado pela dica!!!

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

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!!