Pessoal,
Eu criei um programa que tem uma classe interna e privada. Quando eu compilo é gerado 7 arquivos .CLASS. Eu tentei gerar o JAR digitando jar -cvf nome1.class nome2.class … nome7.class. O arquivo jar é gerado só que ele não executa. Dá um erro. Os amigos do fórum tem algum macete pra me dizer sobre essa geração. Parece que tem um tal de arquivo manifesto que tem que ser feito. Só que eu não fiz esse arquivo. Eu digitei tudo direto. Eu achei que ia funcionar.
Alguém pode me ajudar. Pois estou desenvolvendo um sistema comercial ao mesmo tempo que estou aprendendo java. Eu tenho esse sistema em outra linguagem. Então irão ter muitos arquivos .CLASS. Como que eu jogo tudo isso num arquivo JAR? Por enquanto eu não tô usando nenhuma IDE como o Eclipse e o NetBeans. Tô fazendo num editor de texto padrão.
No aguardo.
Ronaldo César
Programador
ronaldoguj@zipmail.com.br
E pq vc não está usando nenhuma IDE :?: As IDE facilitam o trabalham (inclusive este de gerar o .jar) e eu particulamente não acretido que codificar com editor de textos ajuda a aprender mais.
Escolha uma IDE e trabalhe de forma eficiente.
flw
Por enquanto eu não vou utilizar nenhuma ide. Eu quero aprender a fazer na linha de comando.
Eu tentei rastrear no fórum tópicos semelhantes. Mas, nenhum respondeu ao meu problema. Eu pensei que era só clicar em cima do arquivo JAR e ele executaria.
O quê tá faltando?
se você ja gerou o jar pode editar o manifest default gerado, veja que irá ser gerado um default se você não especificar um:
http://docs.oracle.com/javase/tutorial/deployment/jar/defman.html
você poderia editar esse arquivo que vai estar dentro do jar e colocar a seguinte linha:
Main-Class: pack1.Teste1
e veja bem, não se esqueça de dar um <Enter> pois é necesserário que o manitest tenha uma linha em braco!
ficaria algo parecido com isso o conteudo do manifest:
Manifest-Version: 1.0
Class-Path: libA/io.jar
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Main-Class: pack1.Teste1
<<<<<<<<<<<<<<<<<<<tem uma linha em branco aqui!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
veja também que no meu caso eu estou usando um pacote chamado "pack" e a classe que tem o main se chama Teste1, a biblioteca do apache chamada io.jar também está sendo referenciada, assim coloquei ela dentro da pasta lib e referenciei…
existem problemas quando se usa libs, pois na ide tudo é lindo o classpath é configurável com uma telinha bonita, aqui tem que ser na mão!
mas se você quiser pode também criar o manifest antes e gerar o jar, e usá-lo.
passo 1: Crie o manifest.txt
passo 2: coloque a linha do Main-Class
use no prompt o comando
jar cmf manifest.txt nomedoseujar.jar *.class
Se estiver no diretório raiz da aplicação.
quando for executar, não de um click no .jar e sim execute pelo prompt para ver possíveis erros: seria algo assim
java -jar nomedoseujar.jar.
Espero ter ajudado.
1 curtida
Cara, no google tem aos montes. O método mais simples é o comando abaixo, não precisa fazer mais nada:
jar cvfe nomedoarquivo.jar ClasseMain ClasseMain.class classe2.class classe3.class
Sugestão: Faça um oiMundo com o jar primeiro, para treinar ok, por que dae da para você ir postando o que fez, e eu ir te ajudando.
Valeu ribclauport! Eu vou fazer um oiMundo e vou testar. Depois posto aqui o que deu!
Valeu ribclauport!
Eu fiz o exemplo com oiMundo, criei o manifest.txt e gerei o jar. Executei pela linha de comando e funcionou beleza. Aí eu fiz o mesmo no meu sistema incluindo todos os arquivos .CLASS, criei o manifest com o main-class do sistema e gerei o jar. Cliquei em cima e rodou redondinho. Funcionou beleza. Muito obrigado cara pelo caminho das pedras. Que Deus te abençõe!!!
Obrigado a todos que tentaram ajudar!
Ronaldo César
Programador
ronaldoguj@zipmail.com.br
[quote=ronaldoguj]Pessoal,
Eu criei um programa que tem uma classe interna e privada. Quando eu compilo é gerado 7 arquivos .CLASS. Eu tentei gerar o JAR digitando jar -cvf nome1.class nome2.class … nome7.class. O arquivo jar é gerado só que ele não executa. Dá um erro. Os amigos do fórum tem algum macete pra me dizer sobre essa geração. Parece que tem um tal de arquivo manifesto que tem que ser feito. Só que eu não fiz esse arquivo. Eu digitei tudo direto. Eu achei que ia funcionar.
Alguém pode me ajudar. Pois estou desenvolvendo um sistema comercial ao mesmo tempo que estou aprendendo java. Eu tenho esse sistema em outra linguagem. Então irão ter muitos arquivos .CLASS. Como que eu jogo tudo isso num arquivo JAR? Por enquanto eu não tô usando nenhuma IDE como o Eclipse e o NetBeans. Tô fazendo num editor de texto padrão.
No aguardo.
Ronaldo César
Programador
ronaldoguj@zipmail.com.br
[/quote]
Que beleza heim, bom quando funciona né, hehehe, só uma coisa por favor clique acima do lado direito em editar e edite o post colocando:
[Resolvido]Como criar um arquivo JAR,
E lembre que existem outros comandos interessantes, por exemplo
java -tf seujar.jar -->mostra a estrutura de diretórios dentro do jar
java -xf --> descompacta o jar
abraço…