Domanda

Ho un repository contenente manufatti snapshot con timestamp.

Voglio creare un assembly, che contiene le dipendenze. Questo funziona bene. Ma i nomi artefatto contiene il timestamp. Allora mi chiedo come rimuovere il timestamp dal nome del file solo per l'assemblaggio.

Ho usato questo dependencySet :

<outputFileNameMapping>${artifact.artifactId}-${artifact.version}.${artifact.extension}</outputFileNameMapping>

Ma cuciture versione per contenere già il timestamp. Quindi non v'è alcuna possibilità di ottenere un 1.1.1-SNAPSHOT al posto di 1.1.1-20100323.071348-182

Sto utilizzando la versione 2.2-beta-4 di Maven-assemblaggio-plugin.

È stato utile?

Soluzione

Potresti provare quanto segue per il outputFileNameMapping:

${artifactId}-${baseVersion}.${extension}

Secondo questioni come MASSEMBLY-67 , MASSEMBLY-91 :

  

Utilizzando ${baseVersion} per i casi in cui si desidera preservare la denominazione -snapshot, il plugin mantiene la capacità di utilizzare ${version} per la denominazione timestamp-BuildNumber, che è utile per descrivere l'esatta versione della libreria incluso nel gruppo.

Aggiornamento: Dopo il feedback dalla OP, la sintassi esatta è (non era del tutto sicuro di questo):

${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}

Altri suggerimenti

Ho affrontato un problema simile quando si cerca di costruire un bundle con il plugin di montaggio che conteneva una cartella con il numero di versione (sto confezionamento WSDL e XSD).

La soluzione che ho trovato è piuttosto semplice, ho messo il numero di versione attuale in una proprietà (ad esempio, 1.0), che lo rende disponibile nel file bundle.xml per il plugin di montaggio, e impostare il pom versione a:

<version>${service.version}-SNAPSHOT</version>

In questo modo il contenuto del mio pacchetto non è influenzata dal marcatore SNAPSHOT, in particolare non si modifica quando si fa il rilascio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top