Olá pessoal, estou tendo problemas quanto execução de um programa ja terminado. Quando executo recebo o erro
“Failed to load Main-class manifest attribute from …jar”
Em Project Properties consta a classe correta, a qual está o main(string[] args). Acredito que talvez por estar usando o netbeans 5.5 e o java 1.6 não tenho o referido arquivo "Manifest", tentei localiza-lo e nao o encontrei. Alguem tem alguma ideia do que posso fazer??
Grato a todos.
Sérgio
É necessário que o seu Jar tenha dentro um diretório chamado META-INF e dentro deste diretório um arquivo chamado manifest.mf.
Este arquivo precisa de uma propriedade chamada “Main-class”, onde você colocará o nome da classe (full qualified name).
Através dessa propriedade que o java saberá qual classe será executada quando você rodar o Jar.
Dê uma pesquisada no Google sobre o assunto e você vai achar bem fácil.
Uma coisa boa que pode ser feita é criar o Jar através de uma task ant, que tem opções para setar a Main-class de forma bem simples.
Abraços,
Guilherme Chapiewski
Opa Guilherme,
Como faço para encontrar esse dirtório “META_INF”? Desculpe se a pergunta é tola, é que sou principiante em java. Procurei em vários fóruns em inglês no do próprio GUJ porém a solução apresentada a eles necessita que esse arquivo seja esitado. Porém não o encontrei, saberia me dizer como encontra-l?
Grato
Sérgio
Você não irá encontrá-lo se você não o criar!! 
Quando você faz o seu Jar, VOCÊ precisa dizer que quer criar o diretório.
Usando ant é tranquilo, não sei como você está fazendo…
Estava com o mesmo problema. Tinha dois arquivo java dentro do pacote. É a JVM não estava identificado qual era o arquivo principal.
Eu resolvi da seguinte forma.
Cliquei no botão direito do projeto em propriedades
no Executar > Classe Principal cliquei em procurar
e escolhi qual é o arquivo java principal da minha aplicação e cliquei em OK.
Depois disso clique no botão direito do projeto e solicitei que Limpa-se e Contrui-se o arquivo JAR novamente.
Pronto agora o seu arquivo jar ira rodar.
Boa Sorte e boa Noite.
Acho que de 2007 até hoje, ele já conseguiu resolver o problema. Afinal, dificilmente alguém leva mais de 4 anos com um bug na mão…
Amigo,
Só porque a dúvida é de 2007 não significa que não devemos ajudar o colega, até porque está poderá ocorrer nos tempos atuais…
Natanaeldf,
Parabéns pela iniciativa de ajudar o colega!

As dúvidas respondidas não servem apenas para quem perguntou, mas sim, para toda a comunidade. Devemos incentivar para que todos respondam, mesmo que tardiamente.
É porque vocês estão no fórum há pouco tempo, e não sabem que isso geralmente causa mais problemas do que soluções.
O problema de responder dúvidas muito antigas é que, depois que o tópico é respondido, ele volta para a lista de tópicos ativos. Muita gente não percebe se trata de um assunto antigo, e começa a postar sobre respostas de autores que não existem mais. Não é incomum ver gente criticando duramente um código por estar numa sintaxe antiquada, sem perceber que o assunto era de 2007…
Finalmente, há os casos de já haverem tópicos mais atuais com a solução do problema.
Aliás, vcs mesmo criticaram uma resposta minha de 2010.
Não há problema nenhum em criar um tópico simplesmente informando de um problema que você teve e como o corrigiu, sem que haja dúvida nenhuma por parte do autor. Se você tem uma situação assim, crie um post na forma de um tutorial. Com certeza será bem-vindo e tão produtivo quanto ressuscitar um tópico antigo. Seu post poderá será mais facilmente citado por blogs e por outros tópicos, e será rapidamente indexado no google.
[quote=ViniGodoy]É porque vocês estão no fórum há pouco tempo, e não sabem que isso geralmente causa mais problemas do que soluções.
O problema de responder dúvidas muito antigas é que, depois que o tópico é respondido, ele volta para a lista de tópicos ativos. Muita gente não percebe se trata de um assunto antigo, e começa a postar sobre respostas de autores que não existem mais. Não é incomum ver gente criticando duramente um código por estar numa sintaxe antiquada, sem perceber que o assunto era de 2007…
Finalmente, há os casos de já haverem tópicos mais atuais com a solução do problema.
Aliás, vcs mesmo criticaram uma resposta minha de 2010.
Não há problema nenhum em criar um tópico simplesmente informando de um problema que você teve e como o corrigiu, sem que haja dúvida nenhuma por parte do autor. Se você tem uma situação assim, crie um post na forma de um tutorial. Com certeza será bem-vindo e tão produtivo quanto ressuscitar um tópico antigo. Seu post poderá será mais facilmente citado por blogs e por outros tópicos, e será rapidamente indexado no google.[/quote]
Vini,
Estou no GUJ ao mesmo tempo que você, não estou aqui a pouco tempo.
Só acho que devemos incentivar aos colegas que respondam aos questionamentos, mesmo que tardiamente…
Até porque o colega fez o favor de contribuir com a solução, o que é raro de ser ver nós fóruns hoje em dia…

[quote=natanaeldf]Estava com o mesmo problema. Tinha dois arquivo java dentro do pacote. É a JVM não estava identificado qual era o arquivo principal.
Eu resolvi da seguinte forma.
Cliquei no botão direito do projeto em propriedades
no Executar > Classe Principal cliquei em procurar
e escolhi qual é o arquivo java principal da minha aplicação e cliquei em OK.
Depois disso clique no botão direito do projeto e solicitei que Limpa-se e Contrui-se o arquivo JAR novamente.
Pronto agora o seu arquivo jar ira rodar.
Boa Sorte e boa Noite.[/quote]
Estava com este problema e os outros tutoriais que encontrei são muitos extensos e cansativos. Esta solução é muito prática e eficiente! VALEU!
Na verdade, eu não discordo totalmente de vocês. Provavelmente só fui mais duro na época pq estavam sendo abertos muitos tópicos antigos. Na maior parte das vezes, eu só aviso os usuários do tópico que ele é antigo, caso eu comece a ver muita discussão à respeito de comentários pré-históricos.
Eu também acho importante que as pessoas respondam tópicos. Em especial, o autor do tópico. Muita gente abre o tópico, pede ajuda, a ajuda resolve o problema, mas o sujeito sequer volta para dizer como resolveu, o qual dos comentários foi o que realmente o ajudou. Uma pena, de fato. =/
Curioso, acabo de perceber que todos os usuários dando apoio a opinião adversa a minha tem exatamente o mesmo ip. Coincidência?
E é interessante ver que gente que não acessava a tanto tempo apareceu aqui só para dar suporte a uma opinião diferente da minha. Inclusive alguém até se deu ao trabalho de criar uma conta…
Oi, acabei de ver este topico e não resistir a responder e isso me motivou a fazer o cadastro
E muito dificil não pesquisar por duvidas no google ou outro site de pesquisa e encontra colegas de profissão com a mesma questão nossa, porém e muito comum não encontrar-mos a resposta ou simplesmente alguem divagando sobre como é facil etc… e tal e não esplicar como foi solucionado a questão.
geralmente quem faz a pergunta, quanto encontra a resposta não tem a decencia de voltar e percebendo que ninguem conseguiu responder, escrever como solucionou o problema
acho que o Sr moderador deste forum deveria criticar a pessoa que questionou e após um certo tempo não respondeu se conseguiu ou não e até de alguma forma remover o topico, do que criticar a pessoa que teve a decencia de ter respondido mesmo que tardiamente
o encargo disto e a falta de credibilidade no seu mecanismo de forum, uma questão de ponto de vista, onde quem seria criticado seria o questionador, e não a pessoa que respondeu
voces do guj devem lembra-se que ainda são referencia de pesquisa para a geraçao que surge na aurora, e que precissam destas respostas para da continuidade ao andar, voces tem que pensar que uma hora vão ter que passar o bastão e quem pega-lo vai precissar destas respostas
quanto a questão do tutorial, e valida, mas tutorial nunca responde questões pontual, ai e quem vem a ideia de forum
a resposta e valida mesmo que tardia, a pergunta que deveria ter sido espurgada. uma vez que nem o autor dela deu-se ao trabalho de responde-la
Tópico trancado. Os ips comprovam que o objetivo dessa crítica é apenas trolling.