Problemas com o Javac

Olá, bem eu estou com problemas no javac. Tava tudo funcionando direitinho, compilava e tal, daí hoje fui compilar um exercicio e quando eu digitei javac apareceu a seguinte mensagem: ‘javac’ não é reconhecido como um comando interno ou externo, um programa operavel ou um arquivo em lotes.
O que eu devo fazer?? Ele funcionava direito e daí hoje não quer mais funcionar.

Possivelmente você estava usando o comando javac diretamente da pasta bin de seu JDK ou, por alguma razão, as variáveis de ambiente foram afetadas.

Nos sistemas Windows, para que este comando seja reconhecido você deve configurar suas variáveis de ambiente.

Alguns links que podem ajudar: este, este e este.

Olá GabbiRold

É exatamente como nosso amigo renato.marquez mencionou!

todo e qualquer comando que você digita no prompt de comando, o Windows vai procurar o executável com o nome deste comando no diretório corrente do prompt em questão, caso ele não encontre um executável com o mesmo nome do comando, ele procura em uma variável de ambiente especial do Windows chamada PATH, nessa variável de ambiente, está toda a listagem de diretórios (separados por ponto e virgula “;” ) que o windows deve procurar pelo executável com o nome do comando que vc digitou, neste caso, javac.

nos links que o renato.marquez te passou, eles ensinam a adicionar na variável de ambiente PATH o diretório onde o executável javac.exe está localizado, para que você possa compilar seus programas de qualquer diretório em que o prompt estiver pois ele sempre vai procurar nos diretórios definidos na PATH também, além do diretório corrente é claro!

e também, nesses mesmos links, eles ensinam a criar duas variáveis de ambientes novas, uma chamada JAVA_HOME e outra chamada de CLASSPATH. a JAVA_HOME é muito utilizada por outros aplicativos que utilizam java e seria legal vc configura-la também! A CLASSPATH é usada pelo java para encontrar os JARs que vc utilizada em seu projeto, e como boa pratica para novos desenvolvedores em java, é adicionar o diretório do java em que se encontram os JARs padrão da linguagem, ou seja, aqueles que vêm junto com o SDK. Lá nos links que o renato.marquez passou, está tudo muito detalhado de como criar as duas variáveis JAVA_HOME e CLASSPATH e também de como modificar a variável PATH.

Esse procedimento é feito para outros sistemas operacionais também, como o linux, só que é um pouco diferente o jeito como se cria/muda o valor das variáveis de ambiente, mas a ideia de variável de ambiente é a mesma.

Nada como a documentação oficial do java para resolver nossos problemas quando em nenhum outro lugar podemos encontrar a solução, e neste caso, dê uma olhada no link abaixo direto da Oracle, eles explicam o motivo exato da configuração dessas variáveis de ambiente, só que tá em inglês :frowning:
http://docs.oracle.com/javase/tutorial/essential/environment/paths.html

e como boa pratica, procure estudar um pouco sobre o uso do classpath em suas aplicações, pois isso vai poder te ajudar muito em seus futuros projetos. segue abaixo uma explicação oficial da oracle sobre o classpath do java:
http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

Como recomendação adicional, dá uma googlada para entender um pouco mais sobre as variáveis de ambiente do windows (e outros sistemas operacionais) e como elas podem nos ajudar :smiley:

dar uma olhada nesse post na parte de configuração: http://camilolopes.wordpress.com/2008/03/27/instalando-java-em-ambiente-windows-5-minutes/

Muito obrigado pessoal, já consegui arrumar aqui e descobri que isso aconteceu por que passei aqueles programas que limpam o pc sabe? E daí acabou afetando as variáveis, mas agora tá tudo certinho. Obrigado.