JAR em aplicações de console

Bom dia,

Estou tentando fazer com que um programa armazenado em um jar, através do build do netbeans, seja executado através de duplo-clique no windows.

Quando eu clico duas vezes em um jar de um programa com interface gráfica (Extends JFrame), o programa é automaticamente executado. Mas quando eu faço o mesmo em um programa que só utiliza o console, nada acontece. Eu consigo rodar o programa normalmente utilizando o comando: java -jar “nome_do_arquivo.jar”

Eu fiz o .bat para execução dele no windows, mas gostaria de saber se existe a possibilidade de rodar esse programa do Jar, sem a necessidade do .bat, uma vez que os programas com interface são executados.

Grato,
Guilherme.

oi

uma dica, na hora de executar o comando java passe o parâmetro -verbose e ele vai te mostrar tudo o que é feito, talvez ajude.

t+

não sei se entendi bem o problema, mas setando o java_home e o java_bin nas variáveis de ambiente podem fazer com que seu jar (sendo ele um jar executável - ou seja - com um método ‘main’) ele executa no clique.

Então, o problema é que os JAR’s executaveis que estendem JFrame executam, já os que não estendem, ou seja, rodam só no console, não executam… Não sei qual é, mas tem alguma relação.

No caso do windows, se não me engano o instalador do jdk/jre associa automáticamente a abertura de arquivos com a extensão “jar” para serem abertos pelo aplicativo “javaw.exe”, que é a JVM que não depende de um console para rodar. Eu tive problemas parecidos no passado, mas resolvi os mesmos criando meu próprio emulador de console/terminal com suporte a AWT, componente que chamei de “SAW-Terminal”. Como esse componente que fiz está sob licença GPLv3, se a licença não for empecilho para você, devo postar em breve no tópico os códigos-fonte da minha solução. Melhor ainda, acho que já disponibilizei o “SAW-Terminal” em algum outro tópico do GUJ.

Inté.