bloggers bloggers

Marco Napolitano
Messaggi: 79
Stelle: 0
Data: 17/02/22
Jader Jed Francia
Messaggi: 63
Stelle: 0
Data: 18/02/21
Paolo Gambetti
Messaggi: 2
Stelle: 0
Data: 11/11/19
Katia Pazzi
Messaggi: 1
Stelle: 0
Data: 27/06/19
Ezio Lombardi
Messaggi: 11
Stelle: 0
Data: 10/04/18
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
Indietro

Creare il WAR di un plugin Liferay senza sorgenti

Chiunque abbia mai aperto il WAR di un plugin Liferay generato dallo script Ant, si sarà reso conto che all'interno della cartella WEB-INF sono presenti anche tutti i sorgenti nelle sottocartelle src e service.

Nella maggior parte dei casi questo comportamento è corretto, soprattutto se il plugin viene rilasciato in modalità open source.

Tuttavia ci sono un paio di casi in cui non avere i sorgenti è meglio:

  1. quando il plugin è molto corposo ed i sorgenti finiscono per aumentare a dismisura le dimensioni del WAR;
  2. quando il contratto con il clientenon prevede il rilascio dei sorgenti.

Eliminare le cartelle dei sorgenti dal WAR è piuttosto semplice perchè basta aprire il WAR con un qualsiasi programma di compressione (7-Zip, WinZip, ...) e rimuoverle a mano.

Tuttavia gli script Ant di Liferay consentono già di farlo in automatico; vediamo come...

E' sufficiente aprire la cartella sorgente del SDK di Liferay ed aprire il file build.${user}.properties, ossia il file di properties che reca il nome del vostro utente.

All'interno di questo file è poi sufficiente inserire la seguente property:

plugins.war.excludes = **/WEB-INF/service/**,**/WEB-INF/src/**

In alcuni casi (che non sto qui ad illustrare) può tornare comodo aggiungere un'altra cartella da ignorare:

plugins.war.excludes = **/WEB-INF/service/**,**/WEB-INF/service-classes/**,**/WEB-INF/src/**

Il gioco è fatto!

Tutte le cartelle indicate nella property verranno escluse dal WAR finale.

Precedente
Commenti
Aggiungi Commento
francesco scamarcio
ciao, questa opzione e valida anche per la versione 6.0.12 EE???
Inviato il 09/07/15 14.02.
Marco Napolitano
Francamente non saprei, bisognerebbe guardare i sorgenti Ant alla ricerca di quella property.
Non ricordo nemmeno più l'ultima volta che ho messo mano ad una 6.0...
Inviato il 09/07/15 14.02 in risposta a francesco scamarcio.