This is an old revision of the document!


Setup Environment: JDK, IntelliJ, Maven, Git

Mediul de dezvoltare Java

Java Development Kit (JDK) este pachetul oficial de unelte necesare pentru dezvoltarea aplicațiilor Java. Acesta include:

  • compilatorul javac, care transformă codul sursă în bytecode.
  • Java Runtime Environment (JRE), pentru rularea aplicațiilor.
  • biblioteci de bază.
  • unelte pentru debugging și monitorizare.

JDK este dezvoltat și întreținut de Oracle, dar există și implementări alternative open-source, recunoscute și utilizate pe scară largă în industrie cum ar fi:

  • Azul Zulu: OpenJDK întreținut de Azul, certificat.
  • Amazon Corretto: OpenJDK întreținut de Amazon, gratuit și cu patch-uri LTS.
  • Microsoft Build of OpenJDK: optimizat pentru Azure și Windows.
  • Red Hat OpenJDK: disponibil gratuit, integrat în ecosistemul Red Hat.
  • SapMachine: întreținut de SAP.
  • Debian/Ubuntu OpenJDK builds: build-uri distribuite prin pachetele Linux.

De asemenea, există și implementări enterprise recunoscute pentru optimizări și suport specializat cum ar fi:

  • Oracle JDK: oficial de la Oracle, gratuit pentru business-uri mici, testare și dezvoltare, dar suportul LTS trebuie plătit.
  • Azul Platform Prime (Zing): optimizat pentru performanță și latență scăzută.
  • IBM Semeru Runtimes (cu suport comercial): bazat pe Eclipse OpenJ9.
  • Red Hat Build of OpenJDK (cu suport enterprise): pentru clienți RHEL/OpenShift.

Versiunile JDK sunt lansate periodic, iar unele sunt desemnate ca LTS (Long-Term Support), ceea ce înseamnă că primesc actualizări și suport pe termen lung, fiind recomandate pentru proiecte stabile. Exemple:

  • JDK 8 (2014)
  • JDK 11 (2018, LTS)
  • JDK 17 (2021, LTS)
  • JDK 21 (2023, LTS)
  • JDK 25 (2025, LTS)

Pentru POO vom folosi Java 25 și anume OpenJDK 25.

Puteți folosi și distribuția de JDK 25 oferită de Oracle pe site-ul oficial. Pentru instalare urmăriți tutorialul oficial din documentația Oracle.

Instalare Java 25

Aveți două opțiuni de instalare:

  • Instalarea JDK-ului manual ca utilitar global pentru sistemul de operare: Această opțiune vă permite să rulați utilitarele din JDK din orice cale din terminal, dar are un set-up puțin mai lung.
  • Instalarea JDK-ului local mediului de dezvoltare din IntelliJ: Prin IntelliJ puteți instala rapid o versiune de JDK pentru a porni la lucru, dar JDK-ul instalat va fi accesibil doar din IntelliJ, nu din linia de comandă.

Dacă aveți un sistem care folosește dual-boot, puteți să lucrați atât pe Windows, cât și pe Linux, fără să fie nevoie să ajustați codul. Totuși am observat mai puține probleme la rularea proiectelor Java în Windows pe anumite mașini.

Instalarea JDK-ului manual

Pași de instalare:

Ubuntu

1. Descărcați arhiva tar.gz versiunea Linux/AArch64 dacă aveți un procesor ARM sau versiunea x64 dacă aveți un procesor Intel sau AMD de pe site-ul oficial OpenJDK 25

2. Deschideți un terminal - Ctrl + Alt + T

3. Rulați comanda de dezarhivare a fișierului:

$ cd director_unde_se_afla_arhiva
$ tar xvf openjdk-25*_bin.tar.gz

4. În urma operației de mai sus va rezulta un folder jdk-25. Acest folder conține toate utilitarele necesare pentru rularea și depanarea proiectelor Java și îl vom muta într-o locație uzuală pentru utilitarele globale pentru sistemele Linux:

$ sudo mkdir /usr/lib/jvm/
$ sudo mv jdk-25/ /usr/lib/jvm/

Puteți pune acest folder la altă cale, dar este necesar să introduceți aceeași cale și în pasul următor.

5. Acum aveți instalate toate utilitarele Java, doar că ele nu sunt accesibile ușor din terminal, așa că vom crea un link simbolic la calea utilitarelor ca să nu fie nevoie să folosim mereu calea completă către locația directorului jdk-25.

5.1. Deschiderea script-ului de init pentru shell:

$ vi ~/.bashrc

Dacă folosiți zsh, înlocuiți comanda de mai sus cu:

$ vi ~/.zshrc

5.2. Adăugarea link-urilor simbolice pentru Java:

export JAVA_HOME=/usr/lib/jvm/jdk-25
export PATH=$JAVA_HOME/bin:$PATH

Adăugați cele două linii la finalul fișierului și apoi salvați modificările apăsând escape după care scrieți :wq.

6. Rulați script-ul de inițializare pentru shell manual:

$ source ~/.bashrc

  • Această comandă trebuie rulată doar de această dată pentru a încărca în memorie variabilele definite anterior. Când o să deschideți sesuni noi în terminal o să se ruleze automat script-ul la inițializare.
  • Dacă folosiți zsh rulați această comandă:
    $ source ~/.zshrc

7. Verificați dacă totul a fost instalat corect scriind în terminal:

$ echo $JAVA_HOME
/usr/lib/jvm/jdk-25
$ java --version
openjdk 25 2025-09-16
OpenJDK Runtime Environment (build 25+36-3489)
OpenJDK 64-Bit Server VM (build 25+36-3489, mixed mode, sharing)
$ javac --version
javac 25

  • Este important ca output-ul comenzilor să fie corect. Variabila de mediu JAVA_HOME trebuie să aibă valoarea setată corect și versiunea utilitarelor java și javac trebuie să fie 25.
  • Dacă nu am avea un link simbolic ar trebui să scriem în terminal de fiecare dată calea completă către utilitarul java, de exemplu:
    /usr/lib/jvm/jdk-25/bin/java --version

Windows

1. Descărcați arhiva oficială zip și dezarhivați OpenJDK 25. Folderul rezultat din dezarhivare ar trebui să se numească openjdk-25_windows-x64_bin și înăuntrul lui găsiți un folder jdk-25. Acest folder conține toate utilitarele necesare pentru rularea și depanarea proiectelor Java.

Acum aveți instalate toate utilitarele Java, doar că ele nu sunt accesibile ușor din terminal, așa că vom crea un link simbolic la calea utilitarelor ca să nu fie nevoie să folosim mereu calea completă către locația directorului jdk-25.

2. În C:/Program Files creați un folder denumit “Java” și mutați folderul jdk-25 înăuntrul folderului creat de voi.

Deoarece lucrați într-un folder administrat de sistemul de operare va trebui să folosiți drepturi de administrator.

3. Intrați în folderul jdk-25 și dați click pe address bar iar apoi click dreapta și copy:

4. Apăsați tasta de windows și căutați Edit the system environment variables:

5. Se va deschide o fereastră intitulată System Properties și apăsați pe butonul Environment Variables:

6. Din secțiunea System variables selectați New și introduceți următoarele detalii:

  • nume: JAVA_HOME
  • value: C:\Program Files\java\jdk-25\ - path-ul pe care l-ați copiat

7. Apăsați tasta windows → tastați “terminal” și enter după care rulați comenzile java –version și javac –version pentru a vedea dacă utilitarele s-au instalat corect:

  • Este important ca output-ul comenzilor să fie corect. Versiunea utilitarelor java și javac trebuie să fie 25.
  • Dacă nu am avea variabila de mediu setată ar trebui să scriem în terminal de fiecare dată calea completă către utilitarul java, de exemplu:
    > C:\Program Files\java\jdk-25\bin\java --version

macOS

1. Instalați brew:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Brew este un utilitar foarte util pentru programatorii care folosesc macOS, deoarece gestionează pachetele instalate fiind foarte similar cu apt din Linux. Puteți instala JDK-ul și prin alte metode care nu necesită brew, dar vă recomandăm să îl instalați pentru că este foarte probabil să îl mai folosiți și pentru gestionarea altor pachete. Pentru mai multe detalii puteți consulta documentația oficială.

1. Instalați OpenJDK 25:

$ brew install openjdk@25

Acum aveți instalate toate utilitarele Java, doar că ele nu sunt accesibile ușor din terminal, așa că vom crea un link simbolic la calea utilitarelor ca să nu fie nevoie să folosim mereu calea completă către locația directorului jdk-25.

2. Creați un link simbolic către calea de instalare a JDK-ului:

$ echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.bashrc

Dacă folosiți zsh rulați comanda:

$ echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc

3. Dați restart la script-ul de inițializare .bashrc:

$ source ~/.bashrc

Dacă folosiți zsh rulați comanda:

$ source ~/.zshrc

3. Verificati in terminal finalizarea instalarii ruland comanda:

$ java --version
openjdk 25 2025-09-16
OpenJDK Runtime Environment Homebrew (build 25)
OpenJDK 64-Bit Server VM Homebrew (build 25, mixed mode, sharing)
$ javac --version
javac 25

  • Este important ca output-ul comenzilor să fie corect. Versiunea utilitarelor java și javac trebuie să fie 25.
  • Dacă nu am avea un link simbolic ar trebui să scriem în terminal de fiecare dată calea completă către utilitarul java, de exemplu:
    /opt/homebrew/opt/openjdk/bin/java --version

Instalare IntelliJ 2025.2 Community

Ubuntu

1. Deschideți un terminal - Ctrl + Alt + T

2. Instalați IntelliJ

$ sudo snap install intellij-idea-community --classic
Windows

1. Descărcați ”.exe” de Community de aici

2. Configurați în acest mod următorul meniu pentru a ușura tot flow-ul

3. Restart pentru a se face update la variabilele de mediu

Instalare IntelliJ IDEA Ultimate Edition

Fiecare student poate beneficia de o licență gratis de IntelliJ IDEA Ultimate Edition prin intermediul contului de mail de la facultate (cel cu domeniul @stud.acs.upb.ro). Versiunea de Ultimate a IDE-ului vine cu foarte multe beneficii care se rezumă principal la feature-uri noi și suport pentru mult mai multe limbaje de programare și tehnologii decât versiunea de Community. Pentru mai multe detalii, consultați pagina: https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

Pentru a folosi licența, pașii sunt următorii:

  1. Accesați pagina: https://account.jetbrains.com/login unde introduceți adresa de mail cu care vreți să vă înregistrați contul în secțiunea “Create JetBrains Account” și dați click pe butonul de “Sign Up”
  2. Intrați pe link-ul trimis pe mail și finalizați procesul de creare a contului
  3. După ce v-ați creat contul și v-ați asigurat că sunteți logați pe site, accesați pagina https://www.jetbrains.com/community/education/#students și la secțiunea “For students and teachers” selectați “Apply now”
  4. Completați datele cerute de pagina. Este important ca la secțiunea de email să completați mail-ul primit de la facultate, cel cu domeniul menționat mai sus
  5. După finalizarea procesului, veți primi pe mailul de facultate o confirmare cum că ați primit licența cu succes.

În continuare, pentru a folosi IntelliJ IDEA Ultimate Edition, la pașii descriși mai sus se modifică următoarele:

Ubuntu

În loc de comanda

$ sudo snap install intellij-idea-community --classic

folosiți comanda

$ sudo snap install intellij-idea-ultimate --classic
Windows

Descărcați ”.exe” de Ultimate de aici.

macOS

Descărcați imaginea ”.dmg” de Ultimate de aici.

Dacă aveți procesor M1, M2, M3, M4… selectați versiunea Apple Silicon, altfel alegeți varianta Intel.

Final steps

După instalarea IDE-ului, veți fi nevoiți să vă logați cu contul de IntelliJ IDEA proaspăt creat, după care puteți folosi versiunea Ultimate.

Cum creezi un proiect nou în IntelliJ?

1. Deschide IntelliJ.

2. Apasă pe butonul New Project sau mergi la meniul FileNewProject dacă IntelliJ s-a deschis deja într-un proiect.

3. Setează proprietățile proiectului tău:

  • selectează proiectul Java
  • pune un nume proiectului
  • SDK-ul (momentan No SDK, vom vedea în pasul următor cum să selectăm un JDK)
  • alege build system-ul (momentan IntelliJ, ulterior vom folosi Maven)
  • bifează add sample code dacă dorești un cod inițial (momentan vom bifa această opțiune)

4. Apasă pe Create.

5. Acum proiectul este creat, iar pentru a adaugă pachete și clase, apasă click dreapta pe folderul src → New → Package/Java Class.

În cazul în care vreți să deschideți un proiect deja existent de IntelliJ: FileOpen și selectați folder-ul care conține folder-ul .idea.

Instalarea JDK-ului prin IntelliJ

1. Deschideți IntelliJ

2. Deschideți un proiect

3. Apăsați pe FileProject structure

4. Descărcați JDK:

  • macOS: SDKAdd SDKDownload JDK
  • Windows/Linux: SDKDownload JDK

5. Selectați versiunea corectă de JDK:

  • Version: 25
  • Vendor: Oracle OpenJDK

6. Dați click pe Download și acum veți avea JDK-ul instalat pentru orice proiect IntelliJ.

Cum rulăm cod? Cum facem debug la cod?

1. Pentru exemplu, vom folosi codul generat de proiect din pasul de creare a unui proiect.

2. Vom apăsa pe unul din butoanele de Run din interfață (vezi chenarele roșii):

3. Pentru a face debug codului putem apăsa pe butonul care seamănă cu un gândac (tradus în engleză “bug”), după ce am pus un breakpoint la o linie cu o instrucțiune de cod (vezi chenarele albastre din poza de mai sus).

4. După ce porniți o sesiune de debug, vi se va deschide un panou special cu mai multe comenzi:

  • Chenarul galben:
    • butonul din dreapta vă permite să săriți ușor cu pasul de execuție la următorul breakpoint, deci dacă vă aflați la linia “104” și următorul breakpoint este la linia “150”, prin apăsarea butonului veți sări direct la acea linie, totuși aveți grijă ca breakpoint-ul să fie la o linie de cod care se va executa.
    • butonul din mijloc oprește sesiunea de debug.
    • butonul din stânga restartează sesiunea de debug.
  • Chenarul mov:
    • se afișează mai multe Stack frame-uri, practic dacă aveți apeluri de metode imbricate puteți apăsa pe oricare Stack Frame și astfel puteți să verificați starea obiectelor Java în momentul apelului unei metode.
  • Chenarul roșu:
    • se afișează toate variabilele din contextul curent, pentru a verifica variabilele din afara metodei curente folosiți panoul cu Stack Frame-uri.
  • Chenarul albastru:
    • butonul din stânga Step Over vă permite să treceți cu debugger-ul la următoarea linie de cod.
    • butonul din mijloc Step Into vă permite să intrați în metoda apelată la linia curentă, altfel dacă folosiți Step Over veți vedea direct rezultatul metodei.
    • butonul din dreapta Step Out vă permite să ieșiți din apelul metodei curente.

  • Noțiunile de mai sus pot fi ușor avansate, deoarece nu cunoașteți încă detalii despre programarea în Java, însă puteți reveni oricând la acest laborator pentru a vă familiariza cu procesul de, debug.
  • IntelliJ este un IDE, ceea ce înseamnă că are foarte multe utilitare de proofiling și debug care vă pot fi utile. Vă recomandăm să consultați documentația oficilă JetBrains , deoarece IntelliJ este un software foarte folosit în industria IT.

Comenzi de formatere cod

Toate se găsesc în meniul Refactor (click dreapta pe o secvență de cod) și sunt foarte folositoare atunci când lucrezi la un proiect mai mare, dându-ți o mână de ajutor.

  • Rename (va face automat modificări în constructori și în metoda main)
  • Replace Code Duplicates (găsește bucăți de cod care se repetă și creează o metodă nouă pentru ele)
  • Copy Refactoring (duplică o clasă, dar cu o altă denumire)
  • Move Refactoring (mută o clasă cu totul în alt pachet)
  • Safe Delete (șterge ceva ce nu este folosit deloc în proiect, iar daca încerci să ștergi ceva folosit vei primi un mesaj de eroare)
  • Change Signature (poate schimba numele metodei, parametrii acesteia, tipul, ce returnează, etc.)

Folosire Google Checkstyle în proiecte

Veți folosi convenții de coding style la temă/proiect, dar este bine să le utilizați oricând scrieți cod, inclusiv la laborator.

Consultați tutorialul de aici

Instalare Maven

Maven este folosit pentru gestionarea dependințelor și pentru facilitarea proceselor de build în proiectele Java. În următorul laborator veți învăța mai multe despre acesta.

  • Maven vine instalat cu IntelliJ, dar nu poate fi folosit în linia de comandă. Pentru a rula comenzi din linia de comandă trebuie să instalăm și să creăm un link simbolic pentru Maven.
  • Versiunea de Maven instalată nu este importantă, deoarece pentru toate cele trei sisteme de operare vom folosi un package manager care va alege o versiune destul de nouă și compatibilă cu proiectele noastre.

Linux

1. Deschideți terminalul folosind CTRL + ALT + T.

2. Actualizați distro-ul:

$ sudo apt-get update

3. Instalați Maven:

$ sudo apt install maven

4. Testați comanda mvn:

$ mvn -v
Apache Maven 3.8.7
Maven home: /usr/share/maven
Java version: 25, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-25
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.15.167.4-microsoft-standard-wsl2", arch: "amd64", family: "unix"

Windows

1. Apăsați tasta windows → căutați terminal → click dreapta Run as administrator.

2. Instalați managerul de pachete Chocolatey:

2.1. Verificați că sistemul de operare nu este în modul restricted:

> Get-ExecutionPolicy
RemoteSigned

  • Dacă rezultatul comenzii de mai sus este Restricted, rulați următoarea comandă:
    > Set-ExecutionPolicy AllSigned
  • Modul restricted din Windows împiedică rularea anumitor script-uri pentru a vă proteja de atacuri cibernetice, însă pentru programatori accesul la sistem este necesar și atunci trebuie scoasă această restricție. Totuși, după ce rulați comanda de mai sus, aveți grijă să nu rulați comenzi care pot fi malițioase, deoarece sistemul vostru nu mai folosește un mecanism de securitate!

2.2. Instalați utilitarul:

> Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
RemoteSigned

3. Instalați Maven:

> choco install maven

4. Testați comanda mvn:

> mvn -v
Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
Maven home: C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.11
Java version: 25.0.1, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-25
Default locale: en_US, platform encoding: UTF-8
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"

Similar cu apt din Linux și brew din macOS, Chocolatey este un packet manager care vă poate ajuta cu instalarea utilitarelor pe Windows. Este relevant de știut că acesta are o licență open-source limitată, dar există și versiuni business plătite. Pentru mai multe detalii consultați documentația oficială.

macOS

1. Folosiți utilitarul brew instalat în pașii de mai sus pentru a instala Maven:

$ brew install maven

2. Testați comanda mvn:

$ mvn -v
Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
Maven home: /opt/homebrew/Cellar/maven/3.9.11/libexec
Java version: 25, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk/25/libexec/openjdk.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "26.0", arch: "aarch64", family: "mac"

Git

Git este un tool de versionare a codului care este folosit de orice programator pentru a facilita procesul de review, back-up și versionare.

Vă recomandăm să citiți tutorialul exhaustiv de aici.

  • Nu încurcați GitHub cu git. GitHub, BitBucket, GitLab sunt interfețe web peste tool-ul git.
  • Nu este obligatoriu să folosiți direct git, există tool-uri grafice care vă pot ușura munca dacă preferați interfețele grafice:
    • IntelliJ are suport integrat pentru git dintr-un panou dedicat. Pentru detalii consultați documentația de aici după ce ați terminat de parcurs ghidul de mai sus despre git.
    • GitHub vă pune la dispoziție aplicația GitHub Desktop pentru Windows și macOS. Pentru detalii consultați documentația de aici după ce ați terminat de parcurs ghidul de mai sus despre git.

GitHub Desktop

GitHub Desktop este un tool dezvoltat de GitHub care simplifică lucrul cu Git. Avantajul acestuia este că acesta ajută printr-o interfață grafică user-friendly realizarea flow-ului descris mai sus și ușurează folosirea diferitelor comenzi disponibile. Momentan este disponibil pentru Windows si macOS. Acesta poate fi descărcat accesând acest link.

În continuare puteți găsi un tutorial de folosire a GitHub Desktop în care se crează un branch nou, se adaugă modificările făcute pe repository și se face rebase la branch-ul respectiv: Tutorial

poo-ca-cd/laboratoare/intro.1759083503.txt.gz · Last modified: 2025/09/28 21:18 by florian_luis.micu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0