Creare progetti Liferay tramite il plugin m2eclipse (Maven for Eclipse)
Il vostro processo di sviluppo software richiede l'utilizzo di Maven per la gestione del vostro progetto Java? Bene, in questo articolo vedremo come sia possibile creare ogni tipo di progetto (o plugin) Liferay utilizzando Maven, il tutto senza scrivere una riga di comando del tipo mvn archetype:generate. La versione di Liferay cui faremo riferimento è la 6.1 GA1 Community Edition. I requisiti minimi in termini di software per ottenere il risultato atteso, sono i seguenti:
- Eclipse IDE for Java EE Developers
- Sonatype m2eclipse Plugin. Tutte le informazioni sull'installazione e utilizzo di questo plugin sono reperibili ai seguenti indirizzi:
Supposto che il vostro ambiente di sviluppo sia correttamente installato e configurato e abbiate una buona conoscenza di Eclipse e dello strumento Maven, direi di andare avanti nella trattazione. Nel caso siate completamente a "secco" di Maven, consiglio la lettura di una serie di articoli pubblicati su MokaByte e di cui il primo della serie è Maven: best practices per il processo di build e di rilascio dei progetti in Java
1. Liferay Maven Artifacts
Liferay ha aggiunto il supporto a Maven come ottima alternativa al tool Ant plugin SDK. Gli artefatti sono stati pubblicati sul Central Repository tramite http://oss.sonatype.org, di nostro particolare interesse sono i Maven plugin e gli archetypes per tutti i tipi di plugins Liferay:
- GroupId: com.liferay.maven.archetypes
- ArtifactId:
- liferay-ext-archetype
- liferay-hook-archetype
- liferay-layouttpl-archetype
- liferay-portlet-archetype
- liferay-servicebuilder-archetype
- liferay-theme-archetype
- liferay-web-archetype
Ogni archetype può essere utilizzato per realizzare la base di ogni plugin Liferay mostrato nel precedente elenco, come per esempio un plugin di tipo Hook che poi andremo effettivamente a creare. L'indirizzo del central repository per il GroupId com.liferay.maven.archetype è:
2. Creazione di un Hook Plugin
La creazione di un Hook Plugin tramite il plugin m2eclipse è davvero un gioco da ragazzi. Gli step da eseguire da Eclipse sono appena quattro che riporto a seguire:
- Creazione di un nuovo progetto Maven
- Aggiungere l'archetype liferay-hook-archetype inserendo le seguenti informazioni:
- Archetype GroupId
- Archetype ArtifactId
- Archetype Version
- Repository URL
- Selezionare l'archetype aggiunto in precedenza
- Introdurre le informazioni del progetto Maven per l'Hook
- GroupId (per esempio: it.dontesta.liferay.hook.sugarcrm)
- ArtifactId (per esempio: liferay-hook-sugarcrm)
- Version (per esempio: 0.0.1-SNAPSHOT)
- Package (per esempio: it.dontesta.liferay.hook.sugarcrm)
Le figure possono essere sempre d'aiuto, quelle a seguire mostrano alcuni degli step di creazione del progetto Maven.
Lasciare le impostazioni predefinite. In particolare, la non selezione della prima opzione consentirà successivamente l'aggiunta e la selezione dell'archetype liferay-hook-archetype per creare il nostro plugin di tipo Hook.
Aggiunta dell'archetype inserendo i dati specificati in precedenza ricordando d'inserire l'indirizzo del repository.
Per il progetto appena creato, in pieno stile Maven, saranno risolte tutte le dipendenze necessarie. L'unica operazione che richiede un minimo di manualità è l'inserimento di una serie di proprietà sul POM che riguardano la propria installazione di Liferay. Il Listato 1 mostra quali sono le proprietà aggiunte sul POM. I valori delle proprietà indicate al Listato 1 sono riferite alla mia installazione di Liferay 6.1.1 CE.
<properties> <liferay.version>6.1.1</liferay.version> <liferay.auto.deploy.dir> /opt/liferay-portal-6.1.1-ce-ga2/deploy </liferay.auto.deploy.dir> <liferay.app.server.portal.dir> /opt/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT </liferay.app.server.portal.dir> <liferay.app.server.lib.global.dir> /opt/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/lib/ext </liferay.app.server.lib.global.dir> <app.server.deploy.dir> /opt/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps </app.server.deploy.dir> </properties>
Listato 1 - Proprietà installazione Liferay aggiunte sul POM (link al file completo).
3. Package & Deploy
Una volta creato l'Hook di esempio, non resta altro che creare il package (che in questo caso è un war) da installare in seguito sulla propria installazione di Liferay. Quest'ultima operazione può essere anche eseguita tramite un apposito Maven Goal. La creazione del package liferay-hook-sugarcrm-0.0.1-SNAPSHOT.war e l'eventuale deploy su Liferay, può essere eseguito tramite il menù Run Configurations -> Maven Build specificando rispettivamente i goals package e liferay:deploy, così come indicato in Figura 8.
4. Conclusioni
Abbiamo visto come sia semplice e immediato creare ogni tipo di plugin Liferay utilizzando uno strumento completo e complesso come Maven grazie al supporto fornito dal plugin m2eclipse. Ovviamente è possibile applicare quanto appena descritto a qualunque progetto Java che utilizzi Maven e il plugin m2eclipse è davvero un grande aiuto nella facilitazione di una serie di attività.
Related articles
- Getting started with Liferay Maven SDK (www.liferay.com)
- Liferay 6.1 GA1 Maven artifacts released (www.liferay.com)
- Developing Liferay Plugins with Maven (www.slideshare.net)
- m2eclipse: Maven in Eclipse (www.sonatype.org)