Failed to load Main-Class manifest attribute from ... .jar

Galera…

Tinha um projeto normal no NetBeans 6.5 jdk6 que compilava e criava o arquivo .jar perfeitamente.

De uma hora pra outra, fui criar um novo arquivo .jar quando tive problemas.

Após procurar, rodei meu programa assim: java -jar … .jar

e recebi este erro citado no assunto do tópico:
Failed to load Main-Class manifest attribute from … .jar

Procurei mais um pouco e vi que este erro é causado pelo arquivo manifest.mf que não tem uma propriedade chamada Main-Class.

Meu… alguém sabe me dizer o pq de ter acontecido isso?
E como eu consigo editar ou criar o arquivo?

Ps. O arquivo manifest.mf existe no meu arquivo .jar, porém nao acho ele em nenhum outro diretório.

Existe uma classe main no seu projeto ou um formulario jframe?
Ele esta dizendo que não foi posivel ler a classe principal

Entao cara…

Minha aplicação tem sim uma classe main.

o problema é: como eu informo ela para o meu arquivo manifest.mf?

porque… do nada… ela sumiu de lá…rs

a sua main tem o

 public static void main(String []args){...

normalmente mesmo se vc fizer outra classe e coloca-la
a VM a vê como a main

Sim…

esta aí a minha classe main…

o embaçado é que ela sempre esteve assim.

eu fui olhar o arquivo manifest.mf de um outro arquivo ( .jar deste mesmo projeto e ele tinha o manifest.mf perfect.

Alguma configuração do NetBeans?


package main;

import java.io.FileNotFoundException;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import login.FLogin;

/**
 *
 * @author Tchelo
 * 
 */

public class Main {
    
        public static void main(String args[]) throws FileNotFoundException {

            try {

                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                FLogin oLogin = new FLogin();
                oLogin.setVisible(true);

            } catch (ClassNotFoundException ex) {
                JOptionPane.showMessageDialog(null, ex.getMessage());
                ex.printStackTrace();
                System.exit(0);
            } catch (InstantiationException ex) {
                JOptionPane.showMessageDialog(null, ex.getMessage());
                ex.printStackTrace();
                System.exit(0);
            } catch (IllegalAccessException ex) {
                JOptionPane.showMessageDialog(null, ex.getMessage());
                ex.printStackTrace();
                System.exit(0);
            } catch (UnsupportedLookAndFeelException ex) {
                JOptionPane.showMessageDialog(null, ex.getMessage());
                ex.printStackTrace();
                System.exit(0);
            } catch (Exception e){
                JOptionPane.showMessageDialog(null, e.getMessage());
                e.printStackTrace();
                System.exit(0);
            }

    }    


}

Estava vendo o seu codigo e aparentemente esta tudo certo.
acho que para resolver esse problema tem que ir na propriedade do seu projeto java e selecionar a main class. Então você manda recompilar o projeto.

E cruze os dedos.

cara, consegui…

fui atráz do arquivo manifest.mf do projeto e nao achei.

o netbeans nao criou mais… agora o pq disso?

mas beleza… criei um na mao, joguei a classe main que queria e rodou perfect !!

valeu brother pela ajuda

[quote=Tché]cara, consegui…

fui atráz do arquivo manifest.mf do projeto e nao achei.

o netbeans nao criou mais… agora o pq disso?

mas beleza… criei um na mao, joguei a classe main que queria e rodou perfect !!

valeu brother pela ajuda[/quote]

Cara estou com esse mesmo problema, me descreve como vc fez para cria um arquivo manifest.mf na mão, valeu!

Normalmente o Manifest é gerado pelo ant, O arquivo MANIFEST.MF contém informações sobre a aplicação,
tais como a versão do manifest criado, a classe main do seu projeto e as bibliotecas quando forem necessarias.

No caso do nosso amigo Tché, provavelmente o ant deve ter dado algum conflito com a IDE naquele momento.

para ler mais sobre o ant:
http://www.guj.com.br/article.show.logic?id=30

uma solução rapida é criar um manifest.mf com um editor de texto simples com as informações nescessarias:

Manifest-Version: 1.0
Created-By: Eu mesmo
Main-Class: meuPacote.MinhaMain
Class-Path: umaBiblioteca.jar outraBiblioteca.jar

Colocar o manifest dentro de uma pasta chamada META_INF
abrir o seu jar com um compactador como o Winrar, copiar e colar

Meu manifest ta sssim:

Manifest-Version: 1.0
MIDlet-Vendor: adm
MIDlet-Version: 1.0
MIDlet-1: AreaCirculo,areacirculo.AreaCirculo_MIDlet
MicroEdition-Configuration: CLDC-1.1
Created-By: JavaFX Packager
MIDlet-Name: AreaCirculo
MicroEdition-Profile: JAVAFX-1.3
Main-Class: areacirculo.AreaCirculo

Agora deu o seguinte erro:

Could not find the main class: areacirculo.Areacirculo. Program will exit.

me ajuda! :wink:

De acordo com o seu manifest você esta criando um Midlet

No manifest do Midlet não contem a parte:
Main-Class.
No manifest do Midlet voce deve citar a Main no parametro:
MIDlet-1
devendo ficar:

MIDlet-1: nomeDoMidlet, meuIcone, meuPacote.MinhaMain  

De acordo com o que você citou no Main-Class, o nome do sua main é AreaCirculo.
então nesse caso você deve mudar esta linha

MIDlet-1: AreaCirculo,,areacirculo.AreaCirculo_MIDletPor essa

MIDlet-1: AreaCirculo,,areacirculo.AreaCirculo

E se tudo der errado?
É poque alguma informação esta errada, ou compilado errado.
começe um novo projeto do zero seguindo o tutorial.
http://netbeans.org/kb/docs/javame/quickstart_pt_BR.html#source

E no final tudo acaba bem, e se não esta bem é porque não acabou.

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.

Acabou de acontecer isso comigo e a solução do natanaeldf foi perfeita.

Precisando estaremos aqui.

Pessoal,

estou baixando algumas ferramentas para extração de informação e não consigo executar nenhum .jar. Sempre que tento executar dá esse erro. Bom, estou baixando o arquivo compactado dessas ferramentas, descompacto e executo o .jar como indicado na documentação da mesma. Pelo visto o problema não é com as ferramentas e sim com algo do meu computador.

Poderiam me ajudar?

Obrigada.

Débora

Olá, pessoal!!!
Eu criei um pequno prejeto utilizando Applet, porém, quando tendo executar o arquivo .jar o erro aparece: Failed to load Main-Class manifest attribute from … .jar.

Como estou trabalhando com applet, como eu solciono este problema?
Grata!