Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro: Não foi possível localizar nem carregar a classe principal Programa

Fiz o seguinte:

1º - Criei um arquivo Programa.java com o seguinte código:

public class Programa {
    public static void main(String[] args) {
        System.out.println("ola mundo");
    }
}

2º - Já no CMD:

C:\Java Archives>javac Programa.java
C:\Java Archives>java Programa
Erro: Não foi possível localizar nem carregar a classe principal Programa

Já vi uma resposta do colega Eduardo Cintra em outro tópico que cita uma solução; digitar "java -cp . Programa" ao invés de "java Programa". Gostaria muito de entender o porquê disto acontecer.

C:\Java Archives>java -version
java version "1.8.0_201"
C:\Java Archives>javac -version
javac 1.8.0_201
3 respostas

Fala meu amigo !

cara verifique se você está dentro do diretório correto, talvez isso está acontecendo porque ele não está encontrando a classe no diretório.

espero ter ajudado.

Sim, ele está dentro do diretório. A execução do comando funciona se utilizar o comando:

C:\Java Archives>java -cp . Programa
Olá Mundo

...mas não funciona utilizar o comando "java Programa":

C:\Java Archives>java Programa
Erro: Não foi possível localizar nem carregar a classe principal Programa

Seja lá qual o motivo, com certeza o Programa.class está no mesmo diretório o qual estou.

=(

solução!

Olá Paulo!

Isso pode estar acontecendo por um problema no reconhecimento das barras que constroem a localização dos diretórios. Sistemas Unix (Linux e MAC OS) utilizam as barras para a direita ( / ) já os sistemas Windows usam para a esquerda ( \ ). Sinceramente não sei ao certo porque esse problema ocorre mas ele é contornado utilizando o comando:

java -cp . Programa

O comando -cp vem de "Class Path" e ele recebe um parametro que é o diretório que queremos encontrar a Classe. Na maioria dos sistemas quando queremos indicar nossa pasta atual usamos o simbolo de um ponto. Por isso temos o -cp seguido de um ponto. Isso quer dizer "Force a procura dessa classe no diretório em que eu estou".

Só por curiosidade, você também poderia indicar outro diretório caso quisesse:

java -cp /src/MyClasses Programa

Espero que tenha ajudado! :D

Bons estudos! ^^