Ola amigo, estou lhe mandando algumas dicas, espero que te ajude sobre gerenciamento de arquivos .jar
Trabalhar com arquivo jar é muito simples e muito fácil e as opções úteis do utilitário jar como listar arquivos, extrair arquivos, atualizar, incluir o arquivo de manifesto, troca de diretório etc.
Opções mais comuns do utilitário jar.
-c: Cria um novo arquivo.
-t: Lista os arquivo contidos em um arquivo .jar.
-x: Extrai um ou todos os arquivos em um arquivo .jar.
-u: Atualiza um arquivo .jar.
-v: Modo verboso, mostra o processamento.
-f: Específica o nome do arquivo gerado.
-m: Inclui a informação de manifesto de um arquivo especificado.
-0 (zero): Apenas armazena, sem criar modelo zip de compressão.
-M: Não cria o arquivo de manifesto para as entradas.
-i: Gera informação indexada para os arquivos .jar especificados.
-C: Permite a troca de diretórios e inclui arquivos.
DICA: É comum você ouvir o termo ?deploy? quando começar a se acostumar a adquirir experiência com Java e entenda isso como o processo de compilar, gerar documentação, bibliotecas etc. Há diversas ferramentas no mercado que nos ajudam nesse processo e as duas mais famosas são o ANT e o MAVEN, ambos são projetos do grupo Apache é por isso que, quando vemos o conteúdo de um arquivo Manifest.mf encontramos uma referência ao grupo Apache.
Para criar um arquivos .jar no diretório corrente contendo tudo o que estiver nele com arquivo de manifesto indireto (não é necessário informar o nome do arquivo) e direto:
# jar -vcf MyJar.jar *.class
# jar -vcfm MyJar.jar Manifest.mf *.class
Para criar um arquivos .jar no diretório corrente contendo três classes (não é necessário informar o nome do arquivo) e direto:
# jar -vcf MyJar.jar Classe1.class Classe2.class Classe3.class
# jar -vcfm MyJar.jar Manifest.mf Classe1.class Classe2.class Classe3.class
Para criar um arquivos .jar no diretório corrente contendo todas as classes com arquivo de manifesto indireto (não é necessário informar o nome do arquivo) e direto do pacote br.edu.brasporte:
# jar -vcf MyJar.jar br/edu/brasporte/*.class
# jar -vcfm MyJar.jar Manifest.mf br/edu/brasporte/*.class
Para executar um .jar que contém o método main() supondo-se que o MyJar.jar é executável:
# java -jar MyJar.jar ou
# javaw -jar MyJar.jar (modo gráfico somente windows)
Para listar o conteúdo de arquivo .jar:
# java -tf MyJar.jar ou
# java -vtf MyJar.jar
Para adicionar/atualizar o arquivo MyOther1.class ao arquivo MyJar.jar (pode-se usar * para vários arquivos):
# java -uf MyJar.jar MyOther1.class ou
# java -vuf MyJar.jar MyOther1.class
Para executar a classe TestaMyJar.class (classe principal) do pacote MyJar.jar sendo que foi programado em forma de applets é preciso um arquivo HTML com o seguinte conteúdo:
<applet code= TestaMyJar.class archive="MyJar.jar"
width=120 height=120></applet>
Para extrair o arquivo MyOther1.class do arquivo MyJar.jar (pode-se usar * para vários arquivos), lembre-se que essa operação sobrescreve arquivos com o mesmo nome no caminho e se não for especificado um nome de arquivo, todos serão extraídos:
# java -xf MyJar.jar MyOther1.class ou
# java -vxf MyJar.jar MyOther1.class ou
# java -vxf MyJar.jar (extrai todos os diretórios e arquivos)
Bom, espero que com essas dicas você possa ficar mais expert
Atenciosamente: Adilson Bonan