2012-11-25 14 views
20

ho progetti Maven e voglio schierare i miei manufatti in repository nesso interno che è configurato per avere i miei istantanee e rilasci su due luoghi separati. Quindi non posso usare 'distributionManagement' in quanto ciò significherebbe hardcode la posizione. Quindi ho definito un paio di nel mio settings.xml dire "releaseRepository" e "snapshotRepository" e ognuno ha il parametro "release" che dovrebbe essere impostato su "true" per le versioni e "false" per le istantanee.Maven Deploy: distribuire utilizzando -DaltDeploymentRepository

Sto eseguendo la mia build con il seguente comando per rilasciare i miei artefatti;

mvn clean deploy -DaltDeploymentRepository=releaseRspository::<DON'T KNOW WHAT GOES HERE SO LEFT IT EMPTY>::htp://abc.com/repositores/my-releases/ -Drelease=true 

Ora, quando sto eseguendo il comando sopra, fallisce perché il valore per 'layout' non è fornito e ottengo eccezione e build fallisce.

Non sono riuscito a trovare alcuna informazione su quale dovrebbe essere il valore per 'layout', ho circa 10 progetti che voglio costruire e rilasciare uno dopo l'altro.

risposta

26

altDeploymentRepository String - Specifica un repository alternativa in cui il progetto manufatti devono essere distribuiti (diversi da quelli specificati in <distributionManagement>). Formato: id :: :: disposizione url

(source)

Così, in te caso: releaseRepository::default::http://your.repo.url (vedi here per il layout)

+0

Grazie per ... appena preso ... il mio accumulo andato po 'più lontano, ma ora non è riuscita con il 'permesso negato'. Ho la scheda nello stesso settings.xml con username e password ma non sono sicuro che sia in uso, voglio dire che non riesco a vedere alcun collegamento tra il mio profilo e la definizione del server, come posso collegarli, ad esempio come posso dire maven usare id server = abc per autenticarsi e quindi usare la sua configurazione per caricare? – SJunejo

+0

Questo è il significato di 'id' in' altDeploymentRepository' –

+0

id = PROFILE_NAME? è o dovrei usare il nome del server lì? – SJunejo

0

"layout" è un interruttore eredità previsto all'indietro compatibilità con Maven 1, e a questo punto un anacronismo. Se si utilizza Maven 2 o Maven 3 (come credo che almeno il 99,99% del mondo debba essere a questo punto) è effettivamente "predefinito", come descritto altrove qui. Affermando che la risposta è inequivocabilmente "predefinita", la questione dell'utilità dell'interruttore viene ovviata; se è sempre "predefinito", quale esiste ancora?

Se si utilizza ancora Maven 1, dovrebbe essere "legacy", ma spero che nessuno lo sia. Tutto ciò è descritto nelle specifiche Maven:

layout O predefinito per il layout Maven2 o legacy per il layout Maven1. Maven3 usa anche il layout di default.

https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html

Problemi correlati