Il seguente documento fornisce le istruzioni necessarie per installare gli strumenti di sviluppo utilizzati nel contesto del corso di Programmazione ad Oggetti. La guida presenta le procedure di installazione e configurazione su Linux (varie distribuzioni), MacOS X e Windows del Java Development Kit (JDK) e dell’ambiente di sviluppo integrato Visual Studio Code.

Java Development Kit (JDK)

Il JDK è l’insieme degli strumenti necessari a sviluppare software standard in Java. Include la virtual machine Java, le librerie Java, di base, il compilatore, e i tool di contorno.

Esistono varie versioni del JDK, quella di riferimento è OpenJDK, a partire dalla quale ne vengono sviluppate altre sia gratuite che a pagamento (fra cui Oracle JDK, Eclipse OpenJ9, Amazon Corretto, GraalVM, Bellsoft Liberica JDK, Azul Zulu…).

A sua volta, OpenJDK è distribuito in forma di sorgente, e vari distributori ne forniscono versioni binarie. Fra questi, Adoptium. La macchina virtuale Java di riferimento sarà OpenJDK 17 come fornita da Adoptium.

Seguono le istruzioni di installazione e configuazione per i vari sistemi operativi.

Linux

Arch e derivate (Manjaro, Bridge, SteamOS…)

Arch offre il pacchetto OpenJDK 17 direttamente nel repository extra:

sudo pacman -Syu
sudo pacman -S jdk17-openjdk

È possibile avere più ambienti Java installati contemporaneamente, si può selezionare quello corrente utilizzando il comando archlinux-java. Per assicurarsi di star lavorando con OpenJDK 17, si utilizzi:

sudo archlinux-java set java-17-openjdk

Debian e Ubuntu

Installare il deb da: https://pkgs.org/download/openjdk-17-jdk

Altre distribuzioni

Data la varietà di versioni, distribuzioni sorgenti, e distribuzioni binarie di JVM, esiste un tool Linux che consente di installare quella desiderata e cambiarla rapidamente. Il tool è Jabba.

Per installare Jabba su Linux o Mac OS X, si lanci il seguente comando da terminale:

curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh

Una volta che Jabba è installato, può essere utilizzato per installare il JDK. Si elenchino tutte le versioni di OpenJDK utilizzando

jabba ls-remote openjdk@

Quindi si selezioni la più recente fra le versioni 17, ad esempio se l’output è:

openjdk@1.17.0
openjdk@1.16.0
openjdk@1.16.0-1
openjdk@1.15.0
openjdk@1.15.0-2
openjdk@1.15.0-1
openjdk@1.14.0
openjdk@1.14.0-2
openjdk@1.14.0-1
openjdk@1.13.0
openjdk@1.13.0-2
openjdk@1.13.0-1
openjdk@1.12.0
openjdk@1.12.0-2
openjdk@1.12.0-1
openjdk@1.11.0
openjdk@1.11.0-2
openjdk@1.11.0-1
openjdk@1.10.0
openjdk@1.10.0-2
openjdk@1.10.0-1
openjdk@1.9.0
openjdk@1.9.0-4
openjdk@1.9.0-1

Si scelga openjdk@1.17.0. A questo punto si installi utilizzando i seguenti comandi:

jabba install openjdk@1.17.0
jabba use openjdk@1.17.0

Per impostare una versione di default del JDK da usare (senza dover ogni volta utilizzare jabba use) all’apertura di un nuovo terminale, si usi il seguente comando:

jabba alias default <default-version>

Infatti, all’installazione, Jabba modifica file nella $HOME come.bashrc, .bash_profile, o .zshrc per chiamare $HOME/.jabba/jabba.sh; in quest’ultimo script, un comando jabba use default viene invocato: l’effetto è che all’apertura di un nuovo terminale, verrà automaticamente indicato di usare la versione di default del JDK indicata con Jabba.

macOS

Si seguano le istruzioni per Linux / Jabba.

Windows

Tramite winget

È possibile installare la distribuzione di Adoptium JDK 17 attraverso il seguente comando su PowerShell:

winget install -e --id EclipseAdoptium.Temurin.17.JDK

L’installazione del pacchetto dovrebbe automaticamente impostare la variabile d’ambiente JAVA_HOME correttamente.
In caso contrario, fare riferimento alla sezione Configurazione manuale delle variabili d’ambiente.

Riavviare la PowerShell per verificare la corretta installazione del JDK.

Tramite installer .msi

I passi in comune a tutte le versioni di Windows sono i seguenti (di seguito si fa riferimento a Windows 10, analogamente per le versioni precedenti con eventuali variazioni in termini di interfaccia utente):

  1. Scaricare il JDK dalla pagina di download ufficiale di Adoptium. Scegliere la versione 17, filtrando anche per sistema operativo (Windows) e per architettura (x64). Cliccare il download .msi.

    Missing image

  2. Eseguire l’installer scaricato e seguire il wizard di installazione passo-passo.

    Missing image

    Nella schermata dell’installer sopra riportata è possibile optare per la configurazione automatica delle variabili d’ambiente (si suggerisce di spuntare tutte le opzioni e procedere con l’installazione. In questo caso, terminata l’installazione passare direttamente al punto 4)

  3. Configurazione delle variabili d’ambiente (come riportato di seguito, se necessario).

  4. (Dopo aver configurato le variabili d’ambiente, se necessario) Aprire un prompt dei comandi per verificare l’esito positivo dello step precedente (per aprire il prompt dei comandi è sufficente cercare cmd.exe nel menù di Start):

  5. Verificare l’avvenuta installazione eseguendo i seguenti due comandi su un prompt dei comandi:

    javac -version  # Output atteso: 'javac <version>'
    java -version   # Output atteso: 'java version "<version>" ...'
    

Tramite package manager

Su Windows sono disponibli diversi pacakge manager non ufficiali o semi-ufficiali che permettono l’installazione di distribuzioni OpenJDK.

Opzione 1: Chocolatey

Se sulla macchina è installato Chocolatey, è possibile installare OpenJDK 17 eseguendo il seguente comando su un terminale con permessi di amministratore:

choco install openjdk17

L’installazione dovrebbe eseguire una configurazione automatica delle variabili d’ambiente.

Opzione 2: Scoop

Se sulla macchina è installato Scoop, è possibile installare OpenJDK 17 eseguendo il seguente comando su un terminale:

scoop bucket add java

scoop install openjdk17

Non è necessario utilizzare un terminale con permessi di amministratore. L’installazione dovrebbe eseguire una configurazione automatica delle variabili d’ambiente.

Opzione 3: Jabba

Nota: le ultime versioni presentano alcuni bug nell’installazione e dunque questa soluzione non è consigliata

Per installare Jabba su Windows 10, si lanci il seguente comando su un terminale Powershell:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-Expression (
  Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing
).Content

A questo punto si installi utilizzando i seguenti comandi:

jabba install openjdk@1.17.0
jabba use openjdk@1.17.0

Jabba installa il JDK desiderato in una cartella dedicata nella user home dell’utente, ovvero: %HOMEPATH%\.jabba\jdk\<version>.

Configurazione manuale delle variabili d’ambiente

Non tutti i sistemi di installazione di Java su Windows configurano in modo opportuno l’ambiente. Se la verifica di funzionamento dovesse fallire, si verifichi di aver configurato correttamente il proprio ambiente perché possa eseguire il compilatore ed l’interprete Java. È necessario quindi definire una variabile d’ambiente (JAVA_HOME) relativa a tale percorso ed includerla nel Path di sistema, come segue (si fa riferimento a Windows 10, per versioni precedenti la procedura è analoga).

  1. Aprire il menù d’avvio e digitare “Modifica variabili d’ambiente relative al sistema”:

    Missing image

  2. Cliccando su Apri Si aprirà la finestra “Proprietà del sistema”:

    Missing image

    dalla quale sarà necessario cliccare sul bottone Variabili d’ambiente.

  3. Si aprirà la finestra di dialogo “Variabili d’ambiente”.

    Cliccando poi sul pulsante “Nuova” (quello più in basso, relativo alle variabili d’ambiente di sistema)

    Missing image

  4. Creare la variabile denonimata “JAVA_HOME” con uno dei valori seguenti e cliccare sul pulsante “OK”:

    • %HOMEPATH%\.jabba\jdk\<version> se si è utilizzato Jabba;
    • C:\Program Files\AdoptOpenJDK\jdk-<version>-hotspot se si è utilizzato l’installer di AdoptOpenJDK;

    Missing image

    • Nota bene: il percorso specifico del JDK potrebbe variare da quelli qui descritti in caso di installazioni personalizzate.
  5. Tornando alla schermata “Variabili d’ambiente”, modificare la variabile Path (quella più in basso!), cliccando sul pulsante “Modifica”.

  6. Alla lista di percorsi che apparirà, aggingere la voce %JAVA_HOME%\bin:

    Missing image

  7. Premere su “OK” su tutte le finestre sin qui aperte per confermare le modifiche.

  8. Fatto! Verificare la corretta installazione del JDK eseguendo entrambi i comandi javac -version e java -version dal prompt dei comandi.

Verifica del funzionamento

Al fine di testare l’esecuzione, si chiuda il terminale, si apra un nuovo terminale, e si eseguano i comandi:

java -version
javac -version

e si osservi il risultato. L’output atteso dovrà essere analogo a:

$ java -version
openjdk version "17.0.4" 2022-07-19
OpenJDK Runtime Environment (build 17.0.4+8)
OpenJDK 64-Bit Server VM (build 17.0.4+8, mixed mode)


$ javac -version
javac 17.0.4

Si noti, in particolare, la versione 17, ed il provider AdoptOpenJDK.

Visual Studio Code

Visual Studio Code è un editor di testo e IDE con supporto a molti linguaggi di programmazione (incluso Java).

Linux

Istruzioni per tutte le distribuzioni

Arch Linux e derivate (Manjaro, Bridge, SteamOS…)

La versione Open Source è installabile dal repository extra, tipicamente abilitato di default:

sudo pacman -Syu
sudo pacman -S code

In alternativa, la versione completa non open source è disponibile nel repository Chaotic AUR.

Si abiliti Chaotic AUR usando le istruzioni presenti al link precedente, quindi:

sudo pacman -Sy
sudo pacman -S visual-studio-code-bin

Distribuzioni con supporto a Flatpak

È disponibile un pacchetto dedicato su Flathub

macOS

https://code.visualstudio.com/docs/setup/mac

Windows

Tramite winget

È possibile installare VisualStudio Code attraverso il seguente comando PowerShell:

winget install -e --id Microsoft.VisualStudioCode

Tramite installer

https://code.visualstudio.com/docs/setup/windows

Git

Git è un decentralized version control system (DVCS), che consente di tenere traccia della storia di un progetto, versionarla, tornare allo stato precedente, e lavorare in parallelo.

Al termine del processo di installazione, per verificarne la correttezza, è possibile eseguire da shell il comando: git, accertandosi che l’output prodotto sia del tipo:

usage: git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)
   clone      Clone a repository into a new directory
   init       Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
   add        Add file contents to the index
   mv         Move or rename a file, a directory, or a symlink
   reset      Reset current HEAD to the specified state
   rm         Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)
   bisect     Use binary search to find the commit that introduced a bug
   grep       Print lines matching a pattern
   log        Show commit logs
   show       Show various types of objects
   status     Show the working tree status

grow, mark and tweak your common history
   branch     List, create, or delete branches
   checkout   Switch branches or restore working tree files
   commit     Record changes to the repository
   diff       Show changes between commits, commit and working tree, etc
   merge      Join two or more development histories together
   rebase     Reapply commits on top of another base tip
   tag        Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
   fetch      Download objects and refs from another repository
   pull       Fetch from and integrate with another repository or a local branch
   push       Update remote refs along with associated objects

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.

Linux

Git è preinstallato in molte distribuzioni. Si raccomanda quindi di testare se sia già presente eseguendo git su terminale prima di partire con l’eventuale installazione. Se già presente, ovviamente, non occorre intraprendere alcuna azione.

Se non fosse installato, è di norma installabile dal package manager. Le istruzioni per tutte le distribuzioni più comuni sono disponibili qui.

Windows

Tramite winget

È possibile installare git attraverso il seguente comando su PowerShell:

winget install -e --id Git.Git

Riavviare la PowerShell per verificare la corretta installazione di git.

Tramite installer

  1. Scaricare “GIT for Windows” (nella versione specifica per la propria architettura x86 o x64) dalla pagina di download ufficiale.
  2. Eseguire il programma di installazione
    • Accettare la licenza > Next > Next > Next > Next
    • Selezionare come editor di testo uno tra:
      • “Use the nano editor by default”
      • “Use Notepad++ as Git’s default editor” (se Notepad++ non è già presente, richiede di installarlo prima di poter proseguire con l’installazione di git)
    • Premere Next > Next > Next
    • Selezionare “Checkout as-is, commit as-is” quindi Next
    • Accettare le successive opzioni proposte dall’installer > Install > Finish
  3. Verificare la correttezza dell’installazione
    • Aprire il prompt dei comandi (cmd.exe)
    • Se il tool è stato installato correttamente, digitando il comando git apparirà l’help relativo al comando stesso

macOS

  1. Scaricare l’installer di Git per OS X dalla pagina di download ufficiale
  2. Eseguire il programma per l’installazione
    • Eventualmente, eseguire l’installer anche se non sviluppato da una fonte identificata da Apple Store (vedi System preferences > Security > General)
    • Continue > Install
  3. In alternativa ai due step 1 e 2, git è contenuto tra gli XCode Command Line Developer Tools che sicuramente vi è capitato di installare (o avrete la necessità di installare in futuro) per compilare sorgenti C.
    • Aprite il terminale, lo trovate sotto /Applications/Utilities/
    • Eseguite il comando: git
    • Si aprirà una finestra che vi dice che xcode-select ha bisogno dell’installazione dei Command Line Tools, chiedendo se vogliamo installarli subito.
    • Confermate cliccando su Installa.
  4. Verificare la correttezza dell’installazione
    • Aprire una shell
    • Eseguire il comando git: se l’installazione è andata a buon fine, apparirà il menu di help per il comando