Não consigo criar um "executável"

Ola,
gostaria de saber se alguém pode me ajudar, estou desenvolvendo um programa em java no programa NetBeans 5.0 e não estou conseguindo fazer um “executavel”, tanto pelo prompt quanto pelo NetBeans, consigo gerar um arquivo .jar mas não consigo executar o programa no prompt, acredito que o erro esteja no arquivo manifest não encontrar a classe main.

Em anexo, NetBeans.jpg, o arquivo .jar que o NetBeans gera e o Prompt.jpg, o arquivo que o prompt gera.

Não sei se fiz o processo corretamente mas, acredito que o erro esteja no manifest, como não tenho muita experiência em java, caso eu tenha errado em outro lugar se puderem me alertar e se puderem me ajudar a contruir o manifest me ajudariam muito.

Desde já, obrigada.
Luiza




Obs.: Minha classe Main, se chama Principal.java que se encontra no mesmo pacote que todas as outras classes, o pacote “aplicacao”

Luiza,

pelo que pude perceber nas imagens que vc mandou, seu programa padrão de compactação esta tentando abrir esse arquivo.

Isso acontece geralmente quando esse programas estão configurados para abrir um arquivo jar. Entre nas opções do seu programa e desmarque a opções para abrir arquivo com extenções jar. Deve funcionar.

Se vc quiser executar seu jar pelo pronpt do DOS digite o comando:

java -jar nomedoseuarquivo.jar

Qualquer cosia é só perguntar.

Kleber

Só para complementar a resposta, o erro não parece ser do manifest .mf, pois o seu prorama de compactações esta abrindo o arquivo, desmarque essa opções de abrir aquivos com extenção jar e poste o resultado.

Ola,
eu fiz o que vc falou, mas os erros no prompt continuam, se possivel, olhe o anexo das mensagens do prompt.

Obrigada


haaaaaaaaaa agora sim é um erro que pode ser do seu arquivo manifest .mf.

Estou dando uma olhada nas mensagens de erro, e vejo se tenho alguma sugestão.

Bem… vou passar a diferença de um Manifest que utilizo em um jar deuma aplicação aqui e da certo do seu arquivo Manifest.

Na linha Main-class eu separo as o pacote com barra “/”.

Em Main-class não coloco o .class no final da classe.

Não esqueça de colocar o caminho completo do pacote.

Coloque uma linha em branco no final do arquivo.

Tente esse exemplo e subistituia pelo caminho da sua classe:

Manifest-Version: 1.0
Main-Class: br/com/felix/orcamento/CLoginCentral
Name: br/com/felix/orcamento/CLoginCentral

Poste o resultado

Ola denovo,
tentei fazer como vc falou, mas ainda n deu certo.
Se possivel olhe esse anexo.

Obrigada msm.


Obs: Como não sabia qual dos caminhos era o correto, testei os dois.

Luiza,

Na imagem que vc mandou deu para perceber que quando vc criou o jar vc não informou o caminho completo do pacote da aplicação, assimele não esta encontrando a classe inicial.

Renomeie o arquivo de Manifest.txt para Manifest.mf.

Tente assim:

jar cfvm sist.jar Manifest.mf Aplicacao_1/build/classes/aplicacao/*.class 

Tente e poste o resultado.

Ola,
acredito que agora tenha executado corretamente dado o comando:
jar cfvm sist.jar Manifest.mf Aplicacao_1/build/classes/aplicacao/*.class
mas ainda da erro quando procura a classe main, tentei Main-Class: aplicacao.Principal ou Aplicacao_1/build/classes/aplicacao/Principal ou aplicacao_1\build\classes\aplicacao\Principal ou Aplicacao_1.build.classes.aplicacao.Principal ou aplicacao/Principal, todas elas dizem que n conseguem encontrar a classe.
Se puder ajudar, mais uma vez agradeco.

Pare de sofrer, utilize alguma IDE para gerar esses jars, eu indico o Eclipse, nele tem uma opção de expostar jar, basta clicar com o btn direito no projeto export jar, e seus códigos ficarão + produtivos.

http://www.guj.com.br/posts/list/30327.java

Claro que posso ajudar mais uma vez sim.

Pensando bem eu também viajei agora a pouco.

Vamos ver, sua aplicação tem um pacote? Olhando a estrutura de diretório estou supondo que o pacote da sua aplicação é somente “aplicacao”. Confere?

Se for isso entre no diretório:

Aplicacao_1/build/classes e informe o comando:


jar cfvm sist.jar Manifest.mf aplicacao/*.class

o arquivo Manifest.mf deve estar nesse mesmo diretório.

no Manifest.mf deixeo Main-class como:

Main-Class: aplicacao/Principal

Claro, isso estou supondo que seu pacote se chama aplicacao. Confere?

[quote=Pedrosa]Pare de sofrer, utilize alguma IDE para gerar esses jars, eu indico o Eclipse, nele tem uma opção de expostar jar, basta clicar com o btn direito no projeto export jar, e seus códigos ficarão + produtivos.

http://www.guj.com.br/posts/list/30327.java[/quote]

Rapaz… con certeza gerar jar com um IDE é muito mais produtivo, eu utilizo o eclipse a um bom tempo, acredita que ainda gero os meus jars na mão mesmo?

Fiz um script para isso e me acostumei, ficou produtivo pra mim :slight_smile:

Eu gero no IDE muito + rápido!

Oi,
tentei de novo do jeito que vc falou e nada, diz que a classe n pode ser encontrada.
Esse outro jeito que vcs estao conversando que é mais facil, como faco, e será que tem como fazer pelo NetBeans?
Obrigada

O NetBeans IDE 5.0 gera um arquivo .jar dada a opcao “Build Project’”, mas até esse arquivo quando mando executar com o comando: java -jar Arquivo.jar , diz q n encontra a classe main.
E em propriedades do projeto, opcao Run, a Main Class esta correta = aplicacao.Principal.
Obrigada