Setare variabile de mediu (environment variables) in Windows 7, 8 și 10 pentru Java

Variabilele de mediu (environment variables) sunt utilizate de catre sistemul de operare pentru a salva setari (valori predefinite, locatii ale unor resurse) care sa fie utilizate de procese Windows sau lansate de utilizator.
Aceste variabile de mediu sunt de 2 tipuri:

  • variabile utilizator ce sunt specifice unui anumit cont utilizator din Windows; vor fi vizibile doar daca accesul in Windows se face prin acel cont;
  • variabile de sistem (system variables) vizibile intotdeauna pe sistemul respectiv, indiferent de contul de utilizator folosit.

Chiar daca aceste variabile sunt de obicei definite si initializate automat la instalarea sistemului sau a altor aplicatii, exista situatii in care utilizatorul trebuie sa le defineasca pentru a le pune la dispozitia unor aplicatii.

Scenariul luat in considerare este setarea variabilelor de sistem pentru a permite compilarea si executia de aplicatii Java din linia de comanda (command prompt) sau prin utilizarea unui IDE, cum ar fi Eclipse. Prin instalarea SDK-ului de Java, variabilele de sistem cu privire la locatia executabilelor (compilator,masina virtuala) nu sunt definite sau initializate automat.

Testarea lor se face prin deschiderea command prompt-ului (Start –> cmd) si lansarea compilatorului cu comanda

C:\Users\Catalin>javac.exe

Daca nu exista variabile de sistem care sa indice sistemului unde sa caute acest executabil se va primi o eroare de tipul

'javac' is not recognized as an internal or external command,
operable program or batch file.

Solutia este data de setarea variabilelor de sistem JAVA_HOME, PATH si CLASSPATH:

  1. Se deschide Control Panel –> System or Security –> System; acelasi lucru se poate face prin Click-Dreapta pe MyComputer si se alege Properties
System window in Windows 7
System window in Windows 7

2.   Se alege optiunea Advanced System Settings

System properties window in Windows
System properties window in Windows

3.   Se alege optiunea Environment variables

Environment variables in Windows
Environment variables in Windows

4.   Pentru sectiunea System variables se alege New

5.  Se defineste numele, JAVA_HOME si valoarea variabilei, C:\Program Files\Java\jdk1.6.0_16 (pentru acest exemplu a fost instalat JDK versiunea 1.6.0 in C:\Program Files\Java\jdk1.6.0_16; daca este nevoie, valoare se modifica pentru a reflecta situatia reala)

New system variable
New system variable

6.    Se insereaza o noua variabile de sistem cu numele CLASSPATH si valoarea %JAVA_HOME%\jre\lib

7.    Pentru variabila PATH, daca aceasta deja exista, se selecteaza si se alege optiunea Edit; in editor se adauga valoare ; %JAVA_HOME%\bin (valoarea noua se separa de cele existente prin punct si virgula – ;)

Testarea lor se face prin deschiderea unei noi ferestre de command prompt (Start –> cmd) si lansarea compilatorului cu comanda:

C:\Users\Catalin>javac
Usage: javac
where possible options include:
  -g                         Generate all debugging info
...

sau prin comenzile:

C:\Users\Catalin>echo %CLASSPATH%
C:\Program Files\Java\jdk1.6.0_16\jre\lib

C:\Users\Catalin>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_16

C:\Users\Catalin>echo %PATH%

8. Se restarteaza sistemul.