Resolvendo o problema da classe Main na compilação do projeto

Olá pessoal estou fazendo esse post porque várias pessoas me mandam e-mail sobre um erro comum que acontece nos meus projetos. Isso acontece porque não escolho por criar uma classe main na configuração do projeto, e por esse motivo faz com que o projeto possa ser executado com o comando executar arquivo (shift+F6), porém faz com que apareça esse erro na hora da compilação do projeto inteiro.

java.lang.NoClassDefFoundError: agendadecontatos/Main
Caused by: java.lang.ClassNotFoundException: agendadecontatos.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: agendadecontatos.Main. Program will exit.
Exception in thread "main" Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

Falo sobre isso no meu vídeo sobre a classe Main:

Esse erro acontece porque quando o projeto inteiro é compilado ele procura pela classe onde exite o método main em alguma classe do projeto. Como não escolhemos criar pelo sistema a classe Main que tem o método main também, esse erro acontece. Existe duas opções para solucionar esse problema:
1º Criar uma classe Main com o método main, e esse método main chamará o que você quer que ele mostre no inicio do projeto como mostra a figura abaixo:

2º A segunda opção de solução é escolher uma classe e criar o método main nele:

As duas opções vão pedir para que você defina uma classe como a classe principal na hora da compilação, e as duas opções tem o método main que cria um form e mostra na tela:

public void run() {
new TesteTela().setVisible(true);
}
});

Sobre kurtphpr
Ronaldo Caldas : Formado em Ciência da Computação - UNICENTRO-PR

2 Responses to Resolvendo o problema da classe Main na compilação do projeto

  1. Berguy says:

    Cara você não pode ensinar o passo a passo de como resolver isso na própria aplicação Agenda de Contatos??? não to conseguindo!!!

  2. ademir says:

    Olá boa tarde, você tem algum exemplo de como setar o valor de uma combobox no banco de dados?

Deixar mensagem para Berguy Cancelar resposta