Java.jar

Gente amigos : )

Bem não entendi bem os assuntos Sobre .JAR  um .JAR ao clicar nele ele executa sem eu precisar digitar no Prompt do DOS  java MEUARQUIVO????

Como eu Crio um .JAR porq no tópico do forum eu não entendi digamos que eu tenho um arquivo chamado OLa.CLASS como Criar um .JAR

BJS…

JAR significa “Java ARchive”. Ele eh a mesma coisa que um arquivo ZIP normal, apenas tem uma extensao diferente. Arquivos .jar sao uteis quando voce quer distribuir a sua aplicacao, por exemplo, ja que voce coloca todos os arquivos .class dentro de um .jar apenas.

No outro topico do forum foi feito uma pequena confusao. O Jar em si nao eh executavel, como mencionado anteriormente, ele apenas eh um “repositorio” das suas classes. Para executar a aplicacao ainda eh necessario ter o java instalado na maquina.

Criar um arquivo jar para uma unica classe nao faz muito sentido. Para criar um .jar voce usa o comando “jar”, o qual vem junto com o JDK. Por exemplo, digamos que voce tenha feito uma aplicacao que tenha os seguintes arquivos:

DB.class
MeuPrograma.class
Forum.class
Cliente.class
Usuarios.class

Desses arquivos, a classe principal ( a que contem o metodo main() ) eh o “MeuPrograma.class”. Usando o metodo normal, voce usaria o comando

java MeuPrograma

para rodar a aplicacao. Se voce quisesse distribuir ela ( ou mesmo para facilitar a troca de arquivos ), voce pode criar um .jar usando o seguinte esquema:

  1. Crie um arquivo qualquer, o qual sera usado para informar ao java qual eh a sua classe principal. Voce faz isso criando um arquivo texto com o seguinte conteudo:
Main-Class: MeuPrograma

Digamos que voce tenha salvo como “teste.mf”.

  1. Agora eh necessario criar o .jar em si:
jar -cfm teste.mf MeuProgramaEmUmJar.jar *.class

assim, o arquivo “MeuProgramaEmUmJar.jar” contera todas as classes da tua aplicacao. Para rodar, basta executar assim:

java -jar MeuProgramaEmUmJar.jar

Note que se voce nao criar um arquivo de manifest ( como descrito no passo 1 ), ira dar erro.

Apenas lembrando que .jar nao eh executavel, eh apenas uma forma de juntar todas as classes em um unico arquivo.

[]'s
Rafael Steil

Pra quem instalar o Java no windows, ele associa automaticamente arquivos .jar com o javaw. Dae da pra rodar como se fosse executável pelo Explorer (é q o Rafael usa Linux… :))

O mutreta… essa eh nova pra mim… hehehe
mas mesmo assim, eh bom o pessoal saber o que sao os .jar realmente ( pois muitos pensam que ele eh um executavel ), para nao criar confusoes depois.

Rafael

Olá colegas,

Tomem cuidado com esta associação do windows, pois alguns programas (como o Filzip e imagino q o winzip num futuro proximo também) associam-se à extensão JAR eliminando esta “vantagem”, como se tratam de programas comuns… acho que é melhor nem contar com isso :wink:

Pat:

Como a galera do guj falou, o problema do jar eh que todos pensam que ele eh um arquivo executavel, e não é…o jar simplesmente é um arquivo zipado que contém as classes que vc deseja executar e o manifest, que é o arquivo que contem a referencia ao main class. A questao do duplo clique, ele funciona no windows pq la existe o javaw.exe, ou seja, ele incorpora o jar ao arquivo e roda a um simples duplo clique. No Linux eu vou ficar te devendo mesmo.

Existem várias pessoas que incluiram mini tutoriais de como gerar um jar…nosso amigo Rafael Steil colocou uma explicação super boa acima. Existe tb um que eu fiz, mas nao lembro o endereço, se alguem lembrar passa ai… :lol:

Ate mais…