Spring MVC usando Maven ed Eclipse (I): configurazione di Maven

In questo breve tutorial realizzeremo una semplicissima applicazione web stile “Hello World!”  tramite il framework Spring MVC e grazie all’ausilio di Apache Maven, che ci eviterà di dover importare fisicamente tutte le librerie richieste. L’IDE utilizzato è Eclipse Mars e il server Apache Tomcat 8.
La prima parte del tutorial sarà focalizzata sugli step da eseguire per configurare correttamente Maven in Eclipse.

Dal menù di Eclipse selezioniamo File -> New -> Maven Project quindi nella finesta New Maven Project che ci si presenta manteniamo la spunta su Use default Workspace location e clicchiamo su Next >. Si aprirà la schermata sottostante e noi, mantenendo la spunta su Show the last version of  Archetype only, dovremo selezionare la voce con Artifact Id impostato a maven-archetype-webapp, come illustrato, quindi clicchiamo su Next >.

maven_screenshot_1

A questo punto nella nuova finestra andranno inserite le seguenti informazioni:

  • Group Id: serve a identificare univocamente il progetto tra tutti gli altri; solitamente è qualcosa tipo com.companyname;
  • Artifact Id: è il nome del jar (o del war) senza la versione;
  • Version: è il numero della versione e va incrementato man mano che vengono distribuite nuove release del progetto;
  • Package: è il package base del nostro progetto e di solito è rappresentato dalla concatenazione del Group Id con l’Artifact Id.

Fatto ciò clicchiamo su Finish per proseguire.

maven_screenshot_2

Una volta creato, il progetto Maven si presenterà con una struttura come nell’immagine sottostante. Si può notare che il file index.jsp riporta un errore con dicitura The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path legato al fatto che ancora non abbiamo associato un server al nostro progetto. Per risolvere basta fare click con il tasto destro sul suo nome -> Properties -> Java Build Path -> Add Library…-> Server Runtime -> Apache Tomcat v8.0 -> Finish -> Apply.

maven_screenshot_3

Per poter configurare il nostro progetto con l’ultima versione dei Dynamic Web Module (attualmente la 3.1) apriamo il file web.xml e sostituiamo l’intestazione

come segue:

Quindi all’interno del pom.xml inseriamo la seguente dipendenza tra i tag <dependencies>:

e il seguente blocco di codice relativo ai plugin all’interno del tag <build>:

Clicchiamo con il tasto destro sul progetto quindi selezioniamo Properties e andiamo a verificare / modificare le seguenti impostazioni come segue:

  • Java Build Path tab Libraries: deve essere presente JRE System Library [JavaSE-1.7];
  • Java Compiler: anche qui la versione di Java deve risultare impostata a 1.7;
  • Project Facets: impostiamo la voce Java a 1.7 quindi clicchiamo su Apply; adesso settiamo Dynamic Web Module su 3.1 e riclicchiamo su Apply (se facciamo queste due operazioni contemporaneamente prima di applicare le modifiche c’è il rischio che per motivi di incompatibilità non ci venga permesso di settare i Dynamic Web Module a 3.1 in quanto la versione di Java non risulterebbe ancora salvata a 1.7).

Poiché il container Tomcat non include di default la libreria jstl.jar, necessaria nei progetti Maven, dovremo includere nel pom.xml anche tale dipendenza (come illustrato di seguito) per non incorrere in una eccezione del tipo java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config. Alternativamente potremmo anche decidere di rimpiazzare Tomcat con un application server che implementi la specifica Java EE (ad esempio GlassFish o Apache TomEE).

A questo punto selezioniamo il progetto con il tasto destro -> Maven -> Update Project…
La configurazione di Maven è completa e non dovrebbero presentarsi errori.

Lascia un commento

Your email address will not be published.