Como devo configurar a variável de ambiente PATH no Windows 7

Eu estou usando o jdk1.8.0_121 e o jre1.8.0_121 configurei da seguinte maneira, porém não consigo executar nenhum dos exemplos que vieram com o Livro JAVA Como Programar do DEITEL.

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_121\bin;C:\Program Files\Java\jdk1.8.0_121\jre\bin;C:\Program Files\Java\jre1.8.0_121\bin;


PATH = …;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Program Files\Java\jdk1.8.0_121\jre\bin;C:\Program Files\Java\jre1.8.0_121\bin

A na variável path quer dizer que tem outras configurações de outros programas que não são o JAVA

Ao tentar executar um dos exemplos via prompt de comando java Painter.class recebo a seguinte mensagem de erro: Não foi possível localizar nem carregar a classe principal Painter.class.

Isto porque estou na pasta do executável.

Opa Tadeu, tudo certo?

Cara, sobre as variáveis de ambiente, não posso te ajudar porque não sei nem pra onde vai no Windows :laughing: Logo alguém vem e te responde.

Sobre compilar/executar um programa java, seguinte:

Quando você chama o programa javac (Java Compiler), você tem que dizer pra ele o que você quer que compile. Se você tá na pasta C:\Projeto e ali dentro tem um arquivo chamado Painter.java (código fonte Java), você pode fazer o seguinte:

javac Painter.java

Esse comando vai compilar teu código fonte e jogar a saída no arquivo Painter.class. Se a classe Painter, dentro do arquivo Painter.java possui um método com essa cara,

public static void main(String[] args)

Quer dizer que você pode executar esse método a partir da linha de comando. Para fazer isso, você vai utilizar outro programa diferente do compilador javac, que é o programa java. A entrada para esse programa java, diferentemente do javac que consome arquivos .java, é o nome da classe que tem o método main!

No nosso caso, essa classe é o Painter. Então, na pasta onde se encontra o arquivo compilado Painter.class, você vai digitar o seguinte no terminal:

java Painter

Repare que não é nem Painter.class nem Painter.java, só Painter (o nome da classe que tem o main).

Quer saber como é que o programa java encontra o arquivo Painter.class se você só digitou Painter? Continue lendo! (A partir daqui é só explicação).

Quando você chama o programa java, existe um conceito chamado de classpath. O que é isso? O classpath é uma espécie de lista de diretórios e/ou arquivos, que estarão disponíveis para o programa java quando você o chama no terminal. Nesses diretórios, e só nesses diretórios, o programa java vai poder procurar e encontrar arquivos .class e entender as classes que tem dentro deles. Tá sentindo?

Por padrão, o conteúdo do classpath contem o seu diretório atual! Por isso, quando você digita java Painter, o programa java vai procurar no classpath, se existe uma classe chamada Painter com um método main implementado. Nesse caso, como você está no diretório que contem o arquivo Painter.class, ele vai ser encontrado e executado com sucesso. Você pode adicionar mais diretórios no classpath se quiser, assim:

java -cp C:\minhaBiblioteca;C:\minhaOutraBiblioteca Painter

Dessa forma, tudo que estiver nessas duas pastas, minhaBiblioteca e minhaOutraBiblioteca vão estar disponíveis para o java e, consequentemente, para tua classe Painter.

Existe um mundo de conceitos por trás de classpath, compilador e runtime Java, essa foi só uma brevíssima introdução. Espero ter sido claro!

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_121\

JRE_HOME = C:\Program Files\Java\jre1.8.0\