GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Executar arquivo .jar com clique duplo


#1

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


#2

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.


#3

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


#4

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

Põe java -jar "%1"


#5

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


#6

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é.


#7

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


#8

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


#9

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é.


#10

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


#11

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


#12

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


#13

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:


#14

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. :smile:


#15

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


#16

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


#17

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>));

Nota: No caso do exemplo que dei o caminho seria imagens/

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


#18

Valeu oobrigado pela dica!!!


#19

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


#20

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