como copiar um arquivo que fica dentro de um jar?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

Olá pessoal!
O problema é o seguinte: Criei 2 jars (o SIEK.jar e o aplicativo.jar) sendo que um está dentro do outro (o aplicativo.jar está dentro do SIEK.jar). Para fazer isso, quando estava criando o SIEK.jar, inseri o aplicativo.jar na pasta src. O SIEK, entre outras funcionalidades deve copiar o aplicativo.jar para a pasta c:\aplicação.
Para fazer isso usei o seguinte comando:

<code>InputStream FArquivoDeEntrada = this.getClass().getClassLoader().getResourceAsStream("aplicativo.jar");</code>

No netBeans funciona perfeitamente bem, mas quando eu tento usar o SIEK.jar (que o netBeans cria) ele não consegue encontrar o aplicativo.jar.

É muito estranho isso! Como ele funciona no compilador e como jar não??

Estou usando netBeans 4.0 e Java 1.5.0_01.

valeu!!

"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

Pilantra
JavaEvangelist
[Avatar]

Membro desde: 25/01/2005 03:29:00
Mensagens: 394
Localização: Maringá - PR
Offline

Tipow, o Brazip reconhece um arquivo .jar como compacto!!! Basta você abrir com o Brazip e extrair o arquivo!!!

Flw

Pilantra

Gosta de Linux e Java? Acesse: http://andersonajx.blogspot.com
[WWW] [MSN]
Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

Brazip ? o que é isso? Um descompactador?
Na verdade eu gostaria apenas que o aplicativo.jar fosse para a pasta correta. Sem precisar descompactar ou coisa assim

"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

Vegetto
GUJ Ranger

Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline

Mas afinal o que acontece?? O arquivo não é copiado? o arquivo está lá mas vc não acha ele??? Dá erro? Explica melhor ae
Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

Então vegetto, o problema é o seguinte.
O SIEK.jar, através de uma classe dele deveria pegar o aplicativo.jar e simplesmente copiar para a pasta c:\aplicativo
Quando eu realizo isso pelo netBeans (clicando em F6) funciona, mas quando clico no jar criado pelo mesmo, ele cria um arquivo dentro da pasta c:\aplicativo, mas não passa o conteudo da pasta e ainda gera um java NullPointerException dizendo que não consegue encontrar o arquivo especificado.
Para dar o caminho do aplicativo.jar estou usando o comando que disse lá em cima. Estou usando ele com a intenção de poder manter o SIEK.jar em qualquer lugar, para que ele pudesse copiar o arquivo sem que fosse necessário o caminho completo.
O problema todo é esse. E acabei arrumando esse que dá nome a esse tópico.
Espero ter explicado bem. Se alguém puder ajudar, muito obrigado mesmo!

"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

Vegetto
GUJ Ranger

Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline

Como está o seu manifet do jar que você executa?

Porque, se eu não estiver enganado, você precisa especificar no manifest qual a pasta que está o Aplicativo.jar para que seja encontrado por aquele método: getResourceAsStream
Pilantra
JavaEvangelist
[Avatar]

Membro desde: 25/01/2005 03:29:00
Mensagens: 394
Localização: Maringá - PR
Offline

Brazip é um compactador, assim como o WinRar também reconhece arquivos .jar, se você usa Linux o Ark também extrai!!!

Gosta de Linux e Java? Acesse: http://andersonajx.blogspot.com
[WWW] [MSN]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

JARs sao arquivos ZIP comuns, com uns arquivinhos a mais dentro (manifest.mf, etc e tal). Mais info aqui: http://java.sun.com/docs/books/tutorial/jar/basics/
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

Então, o manifest quem cria é o netBeans.
Tem como eu customizar essa criação?

"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

Vegetto
GUJ Ranger

Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline

Rodrigo Vieira Pinto wrote:Então, o manifest quem cria é o netBeans.
Tem como eu customizar essa criação?


Dentro do netBeans eu não sei, nunca usei essa ferramente...

Mas abra ele no winzip mesmo, pega o arquivo manifest e vê se ele incluiu o classpath do caminho aonde tá o seu jar

Acessa o link que o CV postou, lá provavelmente vai estar explicando como funciona o manifest e pra que serve

[]´s

This message was edited 1 time. Last update was at 04/02/2005 16:35:04

Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

eu estive olhando o link e pelo que vi tem todas as informações para trabalhar com .jar
De qualquer forma muito obrigado. Valeu mesmo!!

"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team