Aqui está um programa muito simples, principalmente para demonstrar como se fazer um JAR. Os exemplos foram escritos para o Windows, o que só importa em relação ao separador de diretorios. Esse programa, ao inves de escrever o batido "Hello World", irá escrever os parametros da linha de chamada. Para dificultar um pouco usaremos o package br.com.javafree.exemplo.
public class Main {
public static void main(String[] args) {
System.out.println(args.length + " argumentos:");
for (int i = 0; i < args.length; i++)
System.out.println(" " + i + ": '" + args[i] + "'");
}
}
agora compilamos o Main para obter o Main.class:
C:\java\exmplJar> javac caminhoCompletoDaClasse\Main.java
e podemos testar:
C:\java\exmplJar> java nomeDoPacoteOndeAClasseEstiver.Main 11 22 33
Ate aqui não tivemos nada a fazer em relação ao JAR, o primeiro passo nesse sentido é dizer qual a classe principal a ser executada (metodo main) ao rodar o JAR. Para isso criamos um arquivo texto com o nome completo da classe principal. Esse arquivo pode ter qualquer nome e nao importa o diretorio onde for criado e irá ser incluído no manifesto do arquivo JAR.
Criamos um arquivo chamado manifest.txt no diretorio principal do projeto contendo a seguinte linha:
Main-Class: nomeDoPacoteOndeAClasseEstiver.Main
Essa linha diz qual a classe que contém o método main a ser executado.
Existem outras chaves/valores que podem ser incluidos no manifesto, mais detalhes na documentacao da SUN http://java.sun.com/j2se/1.5.0/docs/guide/jar/index.html ou do comando JAR.
IMPORTANTE: sempre terminar o manifesto com uma linha em branco.
Agora podemos gerar o JAR que chamaremos de args.jar:
C:\java\exmplJar> jar -cvfm args.jar manifest.txt caminhoCompleto\*.class
As opcoes (o menos é opcional) tem o seguinte significado:
c = create, criar um novo JAR
v = verbose, gerar informações mais detalhadas na saida padrão
f = file, fornecer o nome do arquivo JAR (1° argumento apos as opcoes = nome do arquivo JAR
m = manifest, incluir o conteudo de um arquivo no manifesto (2° argumento = nome do arquivo)
os argumentos restantes (3° no exemplo) sao os arquivos a serem incluidos no JAR
Feito o JAR, podemos testa-lo:
C:\java\exmplJar> java -jar args.jar 44 55 66
É isso... agora podemos distribuir o JAR (ou mudar ele de diretorio para testar)
Alguns detalhes: Também pode-se incluir os arquivos fonte (.java), ou quaisquer outros arquivos no JAR.
C:\java\exmplJar> jar -cvfm args.jar manifest.txt br\com\javafree\exemplo\*.class br\com\javafree\exemplo\*.java
O arquivo JAR nada mais é que um arquivo comprimido no formato ZIP, quem necessitar ou for curioso pode abrí-lo com o WinZIP por exemplo. Outro maneira de ver o conteúdo, é usar o comando jar:
C:\java\exmplJar> jar -tvf args.jar
(t = type[listar]; v = verbose[mais informações]; e f = file[fornecer nome do jar])
Podemos ate extrair os arquivos do JAR usando
C:\java\exmplJar\tmp> jar -xvf ..\args.jar(x = eXtract)
Ou, vice-versa, use o comando jar para criar/examinar/descompactar arquivos .zip
Abraços!
Há 12 anos
Nenhum comentário:
Postar um comentário