maven2: esclusa la directory da WAR

Ho provato questo per escludere l’intera directory ($ {basedir} / src / main / webapp / webscripts) dal mio file WAR ma non è riuscita. Che c’è?

questo non funziona:

   ${basedir}/src/main/webapp/webscripts  **/*.*     

anche questo:

    ${basedir}/src/main/webapp  **/webscripts     

Qualcuno può aiutare?

Entrambe le soluzioni non sarebbero d’aiuto, poiché aggiungerebbero una risorsa aggiuntiva che verrà poi distriggersta. La cartella di origine webapp viene copiata per impostazione predefinita, senza il meccanismo di risorse.

Il meccanismo per distriggersre una parte di questo è attraverso il parametro , in questo modo:

  org.apache.maven.plugins maven-war-plugin 2.1  webscripts/**   

warSourceExcludes sembra non essere stato appena rinominato packagingExcludes .

warSourceExcludes : l’elenco separato da virgole di token da escludere quando si copia il contenuto di warSourceDirectory.

packagingExcludes : l’elenco separato da virgole di token da escludere dalla WAR prima del confezionamento. Questa opzione può essere utilizzata per implementare il caso d’uso skinny WAR.

C’è una grande differenza: con packagingExcludes , i token sono completamente esclusi dal file war finale. Con warSourceExcludes , i token vengono semplicemente ignorati quando si copia la directory war nel file war. Di conseguenza, se i token sono presenti nella directory webapp, ad esempio, non verranno ignorati quando si utilizza warSourceExcludes, ma lo saranno quando si utilizza packagingExcludes .

E un esempio di syntax di lavoro:

 **/${project.artifactId}/** 

Nella versione 2.1-alpha-1, questo era erroneamente chiamato warSourceExcludes. Il parametro giusto è packagingExcludes

Esempio di utilizzo (esclude WEB-INF / statica / cartella da WAR):

  org.apache.maven.plugins maven-war-plugin 2.1.1  searchservice-web WEB-INF/statics/   

Struttura del progetto

Inorder per rimuovere i file di origine ho utilizzato la configurazione di seguito in Maven

   maven-war-plugin 3.2.0   eb-app/app/**,eb-app/node_modules/**,eb-app/public/**,eb-app/server/**,eb-app/tests/**,eb-app/tmp/**,eb-app/vendor/**,eb-app/*    

Aveva uno scenario in cui dovevo escludere due cartelle che potevano essere abbinate da *scripts e che erano nella cartella delle risorse. La prima confusione è stata se fornire il valore di esclusione come src/main/resources/*scripts o come src/main/resources/*scripts WEB-INF/classs/*scripts , ovvero una struttura di compilazione pre o post.

Era molto importante fornire /** per ottenere l’esclusione dell’intera directory dal file war. Nel mio caso, *scripts/** .

Ecco la configurazione finale che ha funzionato:

  WEB-INF/classs/*scripts/**