logo

Não foi possível encontrar ou carregar a classe principal em Java

É muito comum enfrentar erros e exceções na linguagem de programação Java. Mas alguns dos erros mais populares e comuns são frequentemente enfrentados por programadores novos em programação. Entre esses erros, não foi possível encontrar ou carregar a classe principal em Java, é um deles que ocorre normalmente. O erro indica que o comando java fracassado para encontrar ou carregar a classe principal . Ocorre quando tentamos executar um programa. Quando o erro ocorre, a JVM mostra a seguinte mensagem de erro no console:

 Error: Could not find or load main class ClassName 

O erro é gerado principalmente quando especificamos incorretamente o nome da classe em tempo de execução do programa.

Razões para ocorrer erro

O erro é gerado porque o JVM falha ao carregar a classe principal ou o nome do pacote. Existem alguns outros motivos que geram o mesmo erro, como segue:

  • A classe foi declarada no pacote errado.
  • Dependências ausentes no CLASSPATH.
  • O caminho do subdiretório não corresponde ao nome totalmente qualificado.
  • O diretório errado está no CLASSPATH.
  • O CLASSPATH do aplicativo está especificado incorretamente.
  • Também ocorre quando cometemos um erro com o argumento do nome da classe.

Solução para o erro

Para evitar ou resolver o erro, precisamos especificar o nome absoluto do pacote ou nome da classe.

Sem pacote

A classe principal é uma classe na qual o método main() é definido. Vamos criar um programa que gere e exiba um erro no console.

DemoClass.java

 public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //using console to input data from user String name = System.console().readLine(); System.out.println('You have entered: '+name); } } 

Saída:

Não foi possível encontrar ou carregar a classe principal em Java

Vemos que o programa acima é compilado e executado com sucesso. Vamos gerar o erro que não foi possível encontrar ou carregar a classe principal no programa acima. Para gerar e exibir o erro, temos com erros ortográficos o nome da classe enquanto digita o Java comando java DemoClas .

Não foi possível encontrar ou carregar a classe principal em Java

Também ocorre quando especificamos o .aula extensão no final do nome da classe.

 java DemoClass.class 

Não foi possível encontrar ou carregar a classe principal em Java

Para evitar o erro, não escreva .aula extensão no final do nome da classe ao usar o Java comando.

 java DemoClass 

O erro também ocorre quando não colocamos a classe na pasta correta. Na imagem a seguir, não estamos dentro do demonstração pasta onde a classe está localizada. Significa o DemoClass.class arquivo deve estar dentro do diretório C:demonstração .

Não foi possível encontrar ou carregar a classe principal em Java

Com pacote

No programa acima, vamos criar um pacote chamado com.javatpoint . Ou seja, ao compilar o seguinte programa Java o arquivo .class será gerado dentro do C:democomjavatpointDemoClass.class .

Não foi possível encontrar ou carregar a classe principal em Java

DemoClass.java

 package com.javatpoint; public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //reading a string from the user String name = System.console().readLine(); System.out.println('You have entered: '+name); } } 

Saída:

Não foi possível encontrar ou carregar a classe principal em Java

Lembre-se que se a classe estiver dentro de um pacote, devemos usar o nome completo da classe, incluindo o nome do pacote, no comando java.