Sei que esta dúvida é extremamente recorrente no forum; no entanto, lendo os tópicos ainda não consegui solucionar o meu problema…
Desenvolvi um SW que roda perfeitamente pela IDE (Eclipse) e meu PC roda outras Jar (de outros projetos) normalmente tb. Mas quando tento criar a minha JAR deste projeto, via prompt, aparece o seguinte erro:“Failed to load Main-Class manifest attribute from Teste.jar”
Ou seja, por algum motivo o amigo não consegue encontrar a referência para o meu main (classe)… Mas vamos ao que interessa:
Este é o diretório de meu projeto: C:\Projeto_Java_Eclipse\Projeto
Meu source main (.java) está neste diretório: C:\Projeto_Java_Eclipse\Projeto\src\br\sc\empresa\proj\aplicacao
Minha classe main (.class) está neste diretório: C:\Projeto_Java_Eclipse\Projeto\bin\br\sc\empresa\proj\aplicacao
Pois bem, criei o arquivo “manifest.mf” no diretório de meu projeto (C:\Projeto_Java_Eclipse\Projeto) e estou neste arquivo referenciando o meu main (.class), desta maneira:
A versão está correta, já conferi pelo prompt…E “Principal” de fato é a minha classe que possui o main…
Gero o JAR (Teste.jar) pelo Export do Eclipse (versão 3.3.0), no entanto o erro continua aparecendo:“Failed to load Main-Class manifest attribute from Teste.jar”
1º Entre em seu eclipse;
2º Clique com o botão direito do mouse no seu projeto;
3º Na tela Export, selecione Java->JAR file;
4º Deixe selecionado apenas o pacote principal;
5º Digite um caminho para o seu jar;
6º Clicar em Next;
7º Clicar em Next;
8º Na janela de: Manifest Specification, deixe marcado a opção: Generate the manifest file e Save the manifest in the workspac;
9º Em Browse selecione aonde você irá jogar seu MF e escolha o nome para o mesmo;
10º Marque a opção Seal contents -> Seal Some packages;
11º Busque sua main class;
12º Clicar em Finish;
Pronto, o proprio programa criou seu MF! de uma olhada e verifique como ele está!
Existem dois problemas com esse JAR:
Não podem existir as pastas bin e src, os diretórios de classes (br) vão direto na raiz.
e
O MANIFEST.MF deve ficar no diretório META-INF
Faça como na dica acima, crie através do Eclipse que não tem erro.
Lina, valew mesmo, realmente com os passos citados por ti o JAR é gerado sem demais problemas; MAS…
Meu programa abre uma tela inicial e realiza a leitura da serial do PC. Utilizo o “comm.jar” para tanto e está ocorrendo um problema (exceção) quando inicializo o meu programa (apenas ao tentar executá-lo pela JAR recém-criada, via RUN da IDE tudo funciona “bunitinho”)
Executando o meu JAR pelo prompt, recebo as seguintes mensagens de erro:
“Exception in thread “main” java.lang.NoClassDefFoundError: javax/comm/SerialPortEventListener” Etc…etc…etc…
Ou seja, ao que tudo indica, não estou conseguindo indicar o “comm.jar” quando estou criando o executável de meu projeto. Pois bem, tenho um diretório “lib” contendo o “comm.jar” entre outras JAR ao qual incluo no momento de gerar o executável de meu projeto. No entanto, mesmo estando fisicamente este arquivo (comm.jar) nesta pasta (olhando pelo explore consigo visualizá-lo), não consigo enxergá-lo no momento que estou criando o meu executável (indo, obviamente, até a pasta lib no instante que estou criando o meu jar).
Penso talvez ser este o problema…Alguém tem alguma idéia?