Salta al contenuto principale

Usare Maven in un progetto Java

Profile picture for user luca77king

Nel panorama moderno dello sviluppo software, la gestione delle dipendenze è un aspetto cruciale. Ogni progetto moderno dipende da librerie esterne: dai framework, ai tool di utilità, alle API di terze parti. Senza uno strumento centralizzato per gestire queste dipendenze, un progetto può rapidamente diventare ingestibile. In Java, lo strumento più utilizzato per affrontare questa complessità è Maven. Maven non solo automatizza il download delle librerie necessarie, ma gestisce anche le versioni, la compilazione e l’organizzazione del progetto, fornendo una struttura chiara e standardizzata.

Se hai esperienza con altri linguaggi, puoi paragonare Maven a Composer in PHP o a npm in JavaScript. Composer ti permette di gestire pacchetti e librerie PHP tramite un file composer.json, scaricando automaticamente le versioni corrette e risolvendo i conflitti tra dipendenze. npm, allo stesso modo, gestisce pacchetti Node.js attraverso package.json, facilitando l’integrazione di librerie esterne e build tools. Maven applica lo stesso concetto al mondo Java, utilizzando un file pom.xml (Project Object Model) come centro di controllo per dipendenze, configurazioni e fasi di build. La differenza è che Maven integra anche un ciclo di vita completo del progetto, dalla compilazione alla creazione dei pacchetti, rendendo più semplice lavorare su progetti complessi o multi-modulo.

In questa guida, illustreremo come installare Maven su Ubuntu, creare un nuovo progetto Java, importarlo in un IDE, compilarlo ed eseguirlo sia da terminale che da ambiente grafico. Vedremo anche come gestire le dipendenze, aggiungendo librerie esterne in modo semplice e automatico, senza mai toccare manualmente i file JAR.

Installazione di Maven su Ubuntu

Per installare Maven su Ubuntu, apri un terminale e utilizza il comando:

sudo apt-get update
sudo apt-get install maven

Ti verrà chiesto di inserire la password dell’utente con privilegi di amministratore. Una volta inserita, premi Invio e l’installazione partirà automaticamente, scaricando tutti i pacchetti necessari. Maven è ora pronto all’uso.

Per verificare che l’installazione sia avvenuta correttamente, esegui:

mvn -version

Vedrai qualcosa del genere:

Apache Maven 3.9.5
Maven home: /usr/share/maven
Java version: 17, vendor: Oracle Corporation
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "6.5", arch: "amd64", family: "unix"

Questo conferma che Maven è installato e pronto a gestire i tuoi progetti Java.

Creazione di un nuovo progetto Maven

Per creare un progetto Maven, puoi utilizzare un archetype, ovvero un modello di progetto predefinito. Apri un terminale nella cartella in cui vuoi creare il progetto e digita:

mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
  • groupId indica il namespace del progetto, solitamente basato sul dominio dell’azienda o sul nome del progetto.

  • artifactId è il nome del progetto e della cartella in cui verrà creato.

  • archetypeArtifactId specifica il tipo di progetto. In questo caso maven-archetype-quickstart crea un progetto Java semplice con una classe principale e una struttura standard Maven.

  • -DinteractiveMode=false evita di dover rispondere a tutte le domande durante la generazione del progetto.

Al termine, avrai una struttura di cartelle simile a questa:

my-app
├─ src
│  ├─ main
│  │  └─ java
│  │     └─ com
│  │        └─ example
│  │           └─ App.java
│  └─ test
│     └─ java
│        └─ com
│           └─ example
│              └─ AppTest.java
├─ pom.xml

Il file pom.xml è il cuore del progetto Maven: contiene tutte le informazioni sul progetto, le dipendenze e le configurazioni di build.

Importazione del progetto in un IDE

Puoi importare il progetto in qualsiasi IDE moderno come IntelliJ IDEA o Eclipse. In IntelliJ, scegli File -> Open e seleziona la cartella del progetto. IntelliJ rileverà automaticamente il file pom.xml e configurerà il progetto come Maven. In Eclipse, vai su File -> Import -> Existing Maven Projects, seleziona la cartella e conferma.

L’IDE scaricherà tutte le dipendenze indicate nel pom.xml e configurerà il progetto per la compilazione e l’esecuzione.

Compilazione ed esecuzione del progetto

Puoi eseguire il progetto direttamente dall’IDE selezionando la classe principale App.java e facendo clic su Run o Debug.

In alternativa, puoi compilare ed eseguire il progetto da terminale. Per compilare, posizionati nella cartella del progetto e digita:

mvn clean package
  • clean rimuove eventuali build precedenti

  • package compila il progetto e crea un file JAR nella cartella target

Dopo la compilazione troverai un file simile a my-app-1.0-SNAPSHOT.jar nella cartella target. Puoi eseguirlo con:

java -jar target/my-app-1.0-SNAPSHOT.jar

L’applicazione Java partirà e stamperà eventuali output definiti nella classe principale.

Gestione delle dipendenze

Il vero potere di Maven è nella gestione delle librerie. Se vuoi aggiungere una dipendenza, basta aprire il file pom.xml e inserire la sezione <dependency> dentro <dependencies>:

<dependencies>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.13.0</version>
    </dependency>
</dependencies>

Al prossimo mvn clean package, Maven scaricherà automaticamente questa libreria e la aggiungerà al classpath del progetto.

Conclusione

Maven è lo strumento indispensabile per chi sviluppa in Java, semplificando la gestione delle dipendenze, la struttura dei progetti e la compilazione. Installarlo su Ubuntu, creare progetti, importarli in IDE e gestire le librerie diventa un processo lineare e senza frizioni. Con Maven, il ciclo di vita di un progetto Java è chiaro, prevedibile e facilmente scalabile, permettendo di concentrarsi sul codice anziché sulla configurazione.

Daje! Con questa guida sei pronto a partire con Maven e a gestire qualsiasi progetto Java in modo professionale.