Criar JAR!? Já tentei de tudo... [RESOLVIDO]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
eltonsouza
Thread.start()

Membro desde: 02/03/2007 16:37:16
Mensagens: 35
Localização: Florianópolis - SC
Offline

PessoALL,

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"

Alguém sabe o que pode estar ocorrendo???

Obrigado!!!

This message was edited 1 time. Last update was at 09/09/2009 11:58:37

andre.santos
Debugger
[Avatar]

Membro desde: 09/05/2007 01:33:57
Mensagens: 61
Localização: São Paulo - SP
Offline

Olá!

Pelo o q puder ver, tem coisa a mais no Main-Class.

Tira o bin. Deixa só Main-Class: br.sc.empresa.proj.aplicacao.Principal. Isso deve resolver seu problema.


Abraços!

André Lima dos Santos

Blog: http://www.andrels.com
GTalk: andrelimasantos@gmail.com
Twitter: http://twitter.com/andrelimasantos
[WWW] [MSN]
eltonsouza
Thread.start()

Membro desde: 02/03/2007 16:37:16
Mensagens: 35
Localização: Florianópolis - SC
Offline

Olá André,

Infelizmente não resolveu não...
lina
Moderador
[Avatar]

Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline

Oi,

Na realidade.. seu MF deverá ficar assim:



Faz o seguinte (Vamos criar um MF).:

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á!

Tchauzin!

Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java

Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]

@gujgirl

http://www.restartfans.hdfree.com.br

Meu blog:

http://www.runthecode.wordpress.com

Tchauzin!
[Email]
gomesrod
GUJ Ranger
[Avatar]

Membro desde: 11/05/2007 19:46:22
Mensagens: 901
Offline

Olá,

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.
eltonsouza
Thread.start()

Membro desde: 02/03/2007 16:37:16
Mensagens: 35
Localização: Florianópolis - SC
Offline

Obrigado a todos pelas respostas..

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?
lina
Moderador
[Avatar]

Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline

Oi,

Então.. para a manipulação da Serial deverá ter 3 aquivos (eu acho).:



Seu jar não precisa conter esses arquivos (Mas se quiser tudo bem), pois rodará de forma independente!

Quando executar sua aplicação jar pelo prompt, você deverá utilizar o java onde você colocou os arquivos.

Obs: Não sei se fui muito clara.

Exemplo.:

- Tenho aqui na minha maquina uma pasta chamada C:\Arquivos de Programas\Java\jre6
- Será nessa pasta que posicionarei os 3 arquivos para comunicação serial (conforme a legenda que coloquei no inicio)
- Quando for executar minha aplicação jar, (se no meu path não está adicionado essa minha pasta java) deverei fazer:

C:>C:\Arquivos de Programas\Java\jre6\bin\java -jar Aplicacao.jar

Ou seja, estou executando meu jar com o JAVA que instalei os arquivos de comunicação serial. Funcionando corretamente!

Diferente de fazer no ms-dos apenas C:>java -jar Aplicacao.jar

uffa...

Tchauzin!

Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java

Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]

@gujgirl

http://www.restartfans.hdfree.com.br

Meu blog:

http://www.runthecode.wordpress.com

Tchauzin!
[Email]
eltonsouza
Thread.start()

Membro desde: 02/03/2007 16:37:16
Mensagens: 35
Localização: Florianópolis - SC
Offline

Lina, você vai para o céu sabia!? (não sei se é a sua intenção... ehehhehe)

Muito obrigado novamente...De certo!!!

[]'s
lina
Moderador
[Avatar]

Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline

Oi,

Claro que eu quero ir pro ceu =P

Apenas continue participando do forum e ajudando!
ficarei muito feliz se você nunca desistir!

Tchauzin!

Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java

Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]

@gujgirl

http://www.restartfans.hdfree.com.br

Meu blog:

http://www.runthecode.wordpress.com

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