Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvida no Ex. 2 da Aula 1 - A linguagem Java

Boa Noite Pessoal! Eu fiz todas as configurações sugeridas, consegui gerar o a classe mas não rodou quando chamei. O que faço? Alguém tem alguma sugestão? O Java e Javac estão com a mesma versão. Abraço

19 respostas

Olá Marco! O Seu problema é compilar? Ou so em rodar a aplicacao?

Olá Marco, você chegou a dar um CD no CMD?

Olá Romário, é só rodar.

Hum.. Como você está fazendo para rodar a aplicação?

Olá Rafael, como seria isso? Não coloquei CD não!

Você precisa abrir o prompt de comando, e fazer apontar para o diretório de onde está armazenado o seu arquivo .java.

Por exemplo, o aquivo .java está em d:\exercicios\xpto.java. quando abrir o prompt de comando tem que indicar o diretório:

c:\Users\Usuario> cd d:\exercicios\ d:\exercicios> javac xpto.java d:\exercicios>java xpto

CD é um comando do prompt que serve para você mudar o diretório onde você esta.

Exemplo: Quando você abre o prompt de comando ele ja vem algo parecido com isso:

C:\>

E o cursor piscando, isso significa que você está dentro deste diretorio utilizando o Prompt. Então você pode usar o comando CD para ir para qualquer outro diretório. Assim: cd romario

Dai ele iria abrir minha pasta romario que fica dentro do C:\ então o cursor iria mostrar agora da seguinte forma:

C:\romario>

Mas creio que se você conseguiu compilar com o javac não é necessário utilizar cd, pois o arquivo .java deve estar na mesma pasta onde você utilizou o javac. A menos que você mudou o arquivo de lugar.

Estou digitando no CMD: java MeuProgramaModificado e dá a informação que não foi possivel localizar nem carregar a classe principal MeuProgramaModificado.

Ponha o código da classe que você desenvolveu aqui, so pra eu dar uma olhada

Romário, eu consegui rodar com o javac, tanto que gerou um arquivo .class

Certo, mas ponha seu código aqui só para eu dar uma olhada.

Romário o codigo é esse:

class MeuProgramaModificado{
    public static void main(String[] args) {
        System.out.println("Estou na luta! \n Segundalinha");
    }

}

Salvei como MeuProgramaModificado.java Quando coloquei para compilar no javac coloquei a seguinte informação:

javac C:\Alura\MeuProgramaModificado.java

e foi gerado um MeuProgramaModificado.class na minha pasta.

Daí pra frente não consigo rodar o meu .class

solução

Hum.. Então, veja só. O prompt funciona de acordo com a pasta onde ele se encontra. Perceba que você não está, com o prompt, na pasta onde estão seus arquivos.

Veja só:

  • Como eu disse anteriormente, quando eu abro o meu prompt, por exemplo, ele abre com o cursor no seguinte diretório:
C:\>

O que significa que para eu compilar e rodar meus arquivos eu tenho que por eles dentro de diretório C:\ . Ou outras duas opções seriam sai com o meu prompt do diretório C:\ e ir para o diretório onde encontra os arquivos, utilizando o comando CD como o Raphael falou.

Exemplo: Meus arquivos estão na pasta: C:\Alura\Java

Então com o meu prompt eu tenho que utilizar o comando CD e abrir essa pastas com ele. da seguinte forma:

cd Alura\Java

Dai o meu prompt de comando iria para a pasta C:\Alura\Java e lá eu poderia executar os comandos javac e java sem nenhum problema pois meus arquivos estariam na mesma pasta onde esta meu prompt.

A outra opção seria fazer como você fez. Você na hora de compilar por seu prompt estar dentro de outra pasta, você executou o comando javac informando o caminho onde se encontrava o seu arquivo.

Veja que para compilar você fez:

javac C:\Alura\MeuProgramaModificado.java

Você informou o caminho onde estava seu arquivo. E ele gerou o arquivo .class

Então para você executar você tem que fazer o mesmo, informar o caminho onde se encontra a sua classe. Fazendo o seguinte:

java C:\Alura\MeuProgramaModificado
  • Resumindo:

Lembre-se! O prompt so irá executar ações para determinado arquivo quando ele souber onde esse arquivo se encontra. Caso você não diga onde o arquivo está, ele irá presumir que está na pasta onde ele se encontra aberto e se ele não encontrar o arquivo ele não executará o comando.

Por isso quando você usava o comando java ele iria procurar o arquivo dentro da pasta que ele abriu e não encontrava, então ele dizia que não encontrava a classe.

Dessa forma ha duas opções: Abrir a pasta com o prompt ou informar onde está o arquivo na hora da execução do comando.

Espero ter ajudado! Bons Estudos!

Romário, Tentei usar o cd, infelizmente não funcionou, então resolvi continuar mostrando o caminho. Para o javac deu tudo certo, mas quando chamo o java, não roda, vem a mesma mensagem de que não é possível localizar nem carregar a classe principal.

Obrigado!!! Finalmente funcionou! Usei o CD.

Que bom! Qualquer dúvida só perguntar. Bons Estudos!

Acretido que vc salvou seu programa com nome diferente da classe. Tentou salvar como mesmo nome da classe e compilar e executar novamente?

Nao funciona o cd comigo e continuo com o mesmo problema. como nao consigo o cd, uso o caminho todo: "java c:\Java\OlaJava" . Apesar disso, nao funciona... apenas o "javac c:\Java\OlaJava.java". O que mais pode ser?