Pessoal, to com esse erro !@#!*@ que já tá me dando dor de cabeça. Sempre quando compilo o programa pra gerar o Jar, e tento executa-lo (o jar), dá esse maldito erro, pórem, se eu executo o programa direto de dentro do NetBeans ele funciona.
Já tentei re-instalar o Netbeans e instalar versão antiga, já fiz o mesmo com o JDK, já criei um projeto novo, copiei manualmente o código fonte de todas as classes pro novo e ainda assim continua dando problema.
Sinceramente não sei mais o que fazer. 
Ele nao acha a sua classe que contem o metodo main, creio que basta voce alterar dentro do arquivo project.properties a propriedade main.class com o nome da sua classe que possui o metodo main.
main.class=principal.Main
Mas no arquivo a informação está correta. Mesmo assim ele fala que não encontrou a classe.
Esse erro é muito estranho. Pra você ter uma idéia:
Eu tenho um objeto público na classe main, que é o seguinte:
Se eu o retirar, parece que funciona a compilação. :S
Mas o problema é que se eu o retirar de lá, vou ter que re-estruturar o meu código todo, e são mais de 10 mil linhas de código o sistema todo.
Peraí, pelo que vc falou seu problema está na execução, certo?
E geralmente esse problema está associado a classpath.
Eu tive esse problema esse ano simplesmente por usar uma versão antiga da JDK.Ao atualizar para uma versão mais recente ele simplesmente funcionou.
Nunca usei netbeans, mas nesse(s) tópico(s) tem um problema similar ao seu:
http://www.guj.com.br/posts/list/121464.java
http://www.guj.com.br/posts/list/199342.java
Amigo, o seu problema está no seu arquivo .jar. Tive o mesmo problema a algum tempo atrás, e o que está acontecendo é o seguinte.
Quando você gera o .jar que é um arquivo compactado java, com todas as classes compiladas, dentro dele logicamente existe alguma informação de como deve ser executado. Isto é, qual classe deve ser chamada e pedida para a JVM executar. Pois bem, esta informação está dentro de um arquivo chamado MANIFEST.MF que fica dentro da pasta META-INF dentro do seu arquivo .jar.
A solução então é o seguinte:
Abra o seu arquivo .jar com o WinRAR e o deixe aberto.
Navegue pelo arquivo e entre na pasta META-INF e dentro dela abra o arquivo MANIFEST.MF com o WordPad, o bloco de notas ou qualquer outro editor de texto a sua escolha.
E nele, adicione ao final a seguinte informção: “Main-Class: [NomeDaSuaClasseComMain]” Sem aspas. Lembrando que deve ser informado o caminho completo. Por exemplo, se sua classe com Main está dentro do pacote PacoteQualquer deve ser colocado assim: “Main-Class: PacoteQualquer.[NomeDaSuaClasseComMain]”. Desta forma a JVM saberá qual classe executar quando o arquivo .jar for executado.
Feito isso, salve e diga ao WinRAR que quer atualizar as informação. Está janelinha muito provavelmente estará sendo exibida ao você salvar o arquivo e focar no aplicativo WinRAR. Então é só clicar em Atualizar e fechar o WinRAR.
Daí então, rode seu aplicativo novamente.
Espero ter ajudado. Qualquer outro problema, espero que nos procure novamente. (y)
[quote=iagodantascg]Amigo, o seu problema está no seu arquivo .jar. Tive o mesmo problema a algum tempo atrás, e o que está acontecendo é o seguinte.
Quando você gera o .jar que é um arquivo compactado java, com todas as classes compiladas, dentro dele logicamente existe alguma informação de como deve ser executado. Isto é, qual classe deve ser chamada e pedida para a JVM executar. Pois bem, esta informação está dentro de um arquivo chamado MANIFEST.MF que fica dentro da pasta META-INF dentro do seu arquivo .jar.
A solução então é o seguinte:
Abra o seu arquivo .jar com o WinRAR e o deixe aberto.
Navegue pelo arquivo e entre na pasta META-INF e dentro dela abra o arquivo MANIFEST.MF com o WordPad, o bloco de notas ou qualquer outro editor de texto a sua escolha.
E nele, adicione ao final a seguinte informção: “Main-Class: [NomeDaSuaClasseComMain]” Sem aspas. Lembrando que deve ser informado o caminho completo. Por exemplo, se sua classe com Main está dentro do pacote PacoteQualquer deve ser colocado assim: “Main-Class: PacoteQualquer.[NomeDaSuaClasseComMain]”. Desta forma a JVM saberá qual classe executar quando o arquivo .jar for executado.
Feito isso, salve e diga ao WinRAR que quer atualizar as informação. Está janelinha muito provavelmente estará sendo exibida ao você salvar o arquivo e focar no aplicativo WinRAR. Então é só clicar em Atualizar e fechar o WinRAR.
Daí então, rode seu aplicativo novamente.
Espero ter ajudado. Qualquer outro problema, espero que nos procure novamente. (y)[/quote]
Adicionei: Main-Class: principal.Main no final do META-INF e mesmo assim deu problema. 
Peraí, pelo que vc falou seu problema está na execução, certo?
E geralmente esse problema está associado a classpath.
Eu tive esse problema esse ano simplesmente por usar uma versão antiga da JDK.Ao atualizar para uma versão mais recente ele simplesmente funcionou.
Nunca usei netbeans, mas nesse(s) tópico(s) tem um problema similar ao seu:
http://www.guj.com.br/posts/list/121464.java
http://www.guj.com.br/posts/list/199342.java
[/quote]
Já tinha feito algumas dessas sugestões aí e também deu erro. Já até refiz o meu projeto todo, copiando os códigos das classes e ainda assim tá dando erro.
[quote=ElvisCamilo][quote=iagodantascg]Amigo, o seu problema está no seu arquivo .jar. Tive o mesmo problema a algum tempo atrás, e o que está acontecendo é o seguinte.
Quando você gera o .jar que é um arquivo compactado java, com todas as classes compiladas, dentro dele logicamente existe alguma informação de como deve ser executado. Isto é, qual classe deve ser chamada e pedida para a JVM executar. Pois bem, esta informação está dentro de um arquivo chamado MANIFEST.MF que fica dentro da pasta META-INF dentro do seu arquivo .jar.
A solução então é o seguinte:
Abra o seu arquivo .jar com o WinRAR e o deixe aberto.
Navegue pelo arquivo e entre na pasta META-INF e dentro dela abra o arquivo MANIFEST.MF com o WordPad, o bloco de notas ou qualquer outro editor de texto a sua escolha.
E nele, adicione ao final a seguinte informção: “Main-Class: [NomeDaSuaClasseComMain]” Sem aspas. Lembrando que deve ser informado o caminho completo. Por exemplo, se sua classe com Main está dentro do pacote PacoteQualquer deve ser colocado assim: “Main-Class: PacoteQualquer.[NomeDaSuaClasseComMain]”. Desta forma a JVM saberá qual classe executar quando o arquivo .jar for executado.
Feito isso, salve e diga ao WinRAR que quer atualizar as informação. Está janelinha muito provavelmente estará sendo exibida ao você salvar o arquivo e focar no aplicativo WinRAR. Então é só clicar em Atualizar e fechar o WinRAR.
Daí então, rode seu aplicativo novamente.
Espero ter ajudado. Qualquer outro problema, espero que nos procure novamente. (y)[/quote]
Adicionei: Main-Class: principal.Main no final do META-INF e mesmo assim deu problema. :([/quote]
Peraí. Você deve adicionar o “Main-Class: principal.Main” no final do arquivo MANIFEST.MF que fica dentro da pasta META-INF que está dentro do seu arquivo .jar. Foi isso que você fez? Sua classe principal é mesmo Main.class? E está dentro do pacote “principal”?
[quote=iagodantascg][quote=ElvisCamilo][quote=iagodantascg]Amigo, o seu problema está no seu arquivo .jar. Tive o mesmo problema a algum tempo atrás, e o que está acontecendo é o seguinte.
Quando você gera o .jar que é um arquivo compactado java, com todas as classes compiladas, dentro dele logicamente existe alguma informação de como deve ser executado. Isto é, qual classe deve ser chamada e pedida para a JVM executar. Pois bem, esta informação está dentro de um arquivo chamado MANIFEST.MF que fica dentro da pasta META-INF dentro do seu arquivo .jar.
A solução então é o seguinte:
Abra o seu arquivo .jar com o WinRAR e o deixe aberto.
Navegue pelo arquivo e entre na pasta META-INF e dentro dela abra o arquivo MANIFEST.MF com o WordPad, o bloco de notas ou qualquer outro editor de texto a sua escolha.
E nele, adicione ao final a seguinte informção: “Main-Class: [NomeDaSuaClasseComMain]” Sem aspas. Lembrando que deve ser informado o caminho completo. Por exemplo, se sua classe com Main está dentro do pacote PacoteQualquer deve ser colocado assim: “Main-Class: PacoteQualquer.[NomeDaSuaClasseComMain]”. Desta forma a JVM saberá qual classe executar quando o arquivo .jar for executado.
Feito isso, salve e diga ao WinRAR que quer atualizar as informação. Está janelinha muito provavelmente estará sendo exibida ao você salvar o arquivo e focar no aplicativo WinRAR. Então é só clicar em Atualizar e fechar o WinRAR.
Daí então, rode seu aplicativo novamente.
Espero ter ajudado. Qualquer outro problema, espero que nos procure novamente. (y)[/quote]
Adicionei: Main-Class: principal.Main no final do META-INF e mesmo assim deu problema. :([/quote]
Peraí. Você deve adicionar o “Main-Class: principal.Main” no final do arquivo MANIFEST.MF que fica dentro da pasta META-INF que está dentro do seu arquivo .jar. Foi isso que você fez? Sua classe principal é mesmo Main.class? E está dentro do pacote “principal”?[/quote]
Sim, isso mesmo.
Cara, é um erro muito estranho, nem meu professor conseguiu resolver analisando o meu projeto superficialmente, e duvido muito que algum monitor da faculdade vai conseguir. ):
Minha única esperança é vocês aqui.
Elvis, tenta rodar o programa a partir da linha de comando. Muito provavelmente vai dar o mesmo erro, mas se for diferente já é algo novo para pensarmos sobre o que pode ser.
Para rodar o arquivo .jar o comando é: java -jar [NomeDoArquivo.jar]
Que universidade você está? E o curso?
[quote=iagodantascg]Elvis, tenta rodar o programa a partir da linha de comando. Muito provavelmente vai dar o mesmo erro, mas se for diferente já é algo novo para pensarmos sobre o que pode ser.
Para rodar o arquivo .jar o comando é: java -jar [NomeDoArquivo.jar]
Que universidade você está? E o curso? [/quote]

Dá esse erro.
Tenta tirar o ícone da tua classe usuario.painelPrincipal.
Se vc naum colocou nenhum. Abre o NetBeans, na aba “propriedades” da janela da classe painelPrincipal, tenta atribuir um valor qualquer a Icon Image e depois tira. Pra resetar.
Daí vc limpa e constrói o jar novamente, e altera o manifest.mf adicionando a mesma linha, e mais uma vez tenta executar.
Aparentemente o erro está aí. No javax.swing.IconImage que é chamado dentro desta classe usuario.painelPrincipal.
Universidade? Curso?
[quote=iagodantascg]Tenta tirar o ícone da tua classe usuario.painelPrincipal.
Se vc naum colocou nenhum. Abre o NetBeans, na aba “propriedades” da janela da classe painelPrincipal, tenta atribuir um valor qualquer a Icon Image e depois tira. Pra resetar.
Daí vc limpa e constrói o jar novamente, e altera o manifest.mf adicionando a mesma linha, e mais uma vez tenta executar.
Aparentemente o erro está aí. No javax.swing.IconImage que é chamado dentro desta classe usuario.painelPrincipal.
Universidade? Curso?[/quote]
Ahh, desculpa. Não havia visto a pergunta sobre a universidade. Hehe. Faço Ciência da computação em uma universidade privada aqui em Minas Gerais, na Univerisade FUMEC (www.fumec.br).
Muito obrigado pela sua ajuda e dedicação, mas já consegui resolver o problema, e vou te falar que deu trabalho. Hehehe. Eu fui debugando o meu projeto arquivo por arquivo, função por função, até encontrar, milagrosamente, o erro. Parece que o problema tava com um Jbutton que eu havia criado para exibir a janela do cliente. Eu vi que quando eu apagava o JButton e compilava, na hora de abrir não dava erro, daí a única coisa que fiz foi refazer o botão. 
Eu sempre soube que o NetBeans fosse bugado, mas não desse jeito. O.o
Que bom que você conseguiu resolver.
Éh… O NetBeans é assim mesmo. -.- Jáh tive muita dor de cabeça com ele.
Também faço Ciência da Computação, na Universidade Federal de Campina Grande.
Enfim… Qualquer outro problema, estamos aqui. (y)
[]
Não sou defensor de IDE nenhuma e realmente o editor de interface gráfica do NetBeans tem lá os seus problemas, mas falar que a IDE é bugada só por causa disso é um pouco demais não é não?
David, desculpa se te ofendi com isso. Não foi nem de longe minha intenção.
O que quero dizer e como você mesmo admitiu, o NetBeans tem seus problemas, e como em qualquer programa, um problema é um bug. E de forma alguma estou querendo dizer que o NetBeans é um mal IDE naum. Pelo contrário. Dependendo da tarefa eu recomendo-o mais do que qualquer um outro.
O NetBeans é um IDE bem completo e atende a TODAS as necessidade de qualquer um programador Java. Eu mesmo uso o NetBeans pelo o que ele me oferece, e jah passei muito tempo com outros IDE’s. E digo que com certeza jah passei mais tempo com ele do que se juntar o tempo que passei usando outros.
O fato é que, o NetBeans tem sim seus bugs. E que naum são tão poucos, pois jah presenciei muitos. Porém são bugs completamente convivíveis. Como por exemplo o nosso amigo Elvis. O NetBeans quebrou o codigo dele, mas quando ele identificou o erro, tudo voltou ao normal.
Espero ter esclarecido meu ponto de vista sobre o que disse anteriormente.
E mais uma vez, peço suas desculpas.
Oi iagodantascg,
Não fiquei ofendido não. É que esse tipo de comentário normalmente é o que basta para iniciar um flame.
[]´s
[quote=iagodantascg]Que bom que você conseguiu resolver.
Éh… O NetBeans é assim mesmo. -.- Jáh tive muita dor de cabeça com ele.
Também faço Ciência da Computação, na Universidade Federal de Campina Grande.
Enfim… Qualquer outro problema, estamos aqui. (y)
[][/quote]
Supimpa!
Valeu!
Só a título de informação ExceptionInInitializerError é um erro que dá quando uma exceção é disparada durante a construção de atributos estáticos de alguma das classes.
Provavelmente um dos seus ImageIcons estava apontando para um caminho de imagem inválido. Se você criou com o getResource, esse resource não existia e retornou null. O null então disparou a exception no ImageIcon.
Cuidado ao usar ImageIcons e o getResource, pois o nome de recursos dentro do .jar é case sensitive, enquanto fora do .jar, no Windows, não é. Por isso o programa pode funcionar no Netbeans, mas não no .jar. Então, procure copiar o nome do arquivo exatamente igual, tomando o cuidado de respeitar maiúsculas e minúsculas também.