Eu sei que este assunto já está por demais explorado neste fórum, entretanto ainda estou com algumas dificuldades. Eu criei um arquivo .jar por meio da clássica operação: Eclipse/botão direito no projeto/Export…/java/Jar File. Antes disso, criei uma pasta META-INF e coloquei dentro o arquivo Manifest.mf com o seguinte texto:
Até aí tudo bem, o arquivo .jar é criado sem problemas. Só que pensei que após estes procedimentos, este arquivo já poderia receber um duplo clique para rodar a aplicação, mas ao invés disso o sistema abre a janela de descompactação normal de arquivos zipados.
Gostaria que alguém me dissesse o que ainda preciso fazer para tornar o arquivo .jar um “executável” que rode minha aplicação.
Obrigado pela dica, me ajudou bastante!!! Mas surgiu um outro probleminha inesperado. É que descobri que quando crio um jar pelo Eclipse, ele cria uma pasta padrão META-INF com um arquivo MANIFEST.MF vazio que toda vez sobrescreve o que eu já havia configurado com o nome do pacote onde se encontra a classe com o método Main. Daí que logicamente falha na execução. Ainda tentei descompactar o jar pra alterar o MANIFEST.MF mas quando tento recompactar com uma extensão .jar ele não é mais visto como tal pelo sistema e fica sendo um zip normal. Alguém sabe como faço para manter minhas configurações do MANIFEST.MF original?
Apenas complementando meu tópico anterior, após inúmeras tentativas (e o apoio técnico de um ex-colega de faculdade) finalmente consegui criar o famoso Jar File!!! É ótima a sensação de ter um ícone de uma aplicação Java sua no desktop e com um duplo clique: voilá!! Eis que a aplicação surge como um passe de mágica 8). Contudo, descobri um outro problema (espero estar contribuindo positivamente para o enriquecimento do fórum). Minha aplicação inicialmente necessita ler um arquivo txt… Acho melhor dizer logo do que se trata: É o clássico e manjadíssimo Jogo da Forca. Dentro do projeto há um arquivo txt contendo 100 palavras que o programa precisar ler para sortear uma processar o Jogo para que o usuário tente descobrir qual é. Quando executo o programa no Eclipse o arquivo é lido normalmente, mas com o Jar uma excessão é disparada informando que o caminho especificado para o arquivo não foi encontrado. Acredito que seja algum tipo de configuração que tenha que fazer antes de criar o Jar mas não descobri qual é. Agradeço colaborações!!!
Acabou que eu mesmo descobri o X da questão envolvendo arquivos Jar. Após um árduo trabalho de pesquisa na net (principalmente no presente fórum), finalmente consegui resolver o problema. Era o seguinte: Quando estamos rodando um projeto dentro do Eclipse, quando fazemos referência a qualquer elemento externo (arquivos, imagens, sons), a máquina virtual procura o caminho para estes elementos dentro do próprio projeto. Entretanto, quando criamos um Jar, tudo isso fica encapsulado dentro do Jar, mas não importa pq a única coisa que a JVM quer do Jar são os .class, qualquer referência a arquivos ela procura na raiz C e não no projeto. Daí para resolver meu problema, retirei os arquivos e coloquei-os em outro local atualizando as referências no código (“C:/pasta1/pasta2/arquivo.txt”). Desse modo, tanto no Eclipse quanto no Jar, a máquina virtual encontra o caminho e acessa o arquivo. É vivendo e aprendendo não? hauhauhauhaua Achei interessante informar isso a vcs. Pode ser útil um dia, quem sabe?