web-dev-qa-db-fra.com

Maven deploy: déployer à l'aide de -DaltDeploymentRepository

J'ai des projets maven et je souhaite déployer mes artefacts sur le référentiel Nexus interne configuré pour avoir mes instantanés et versions sur deux emplacements distincts. Je ne peux donc pas utiliser 'distributionManagement' car cela codifierait l'emplacement. J'ai donc défini un couple dedans mon settings.xml say 'releaseRepository' et 'snapshotRepository' et chacun a le paramètre 'release' qui doit être défini sur 'true' pour les releases et 'false' pour les instantanés .

J'exécute ma construction avec la commande suivante pour libérer mes artefacts;

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

Désormais, lorsque j'exécute la commande ci-dessus, elle échoue car la valeur de 'layout' n'est pas fournie et j'obtiens une exception et la construction échoue.

Je ne pouvais trouver aucune information sur ce que devrait être la valeur de 'mise en page', j'ai environ 10 projets que je veux construire et publier l'un après l'autre.

23
SJunejo

altDeploymentRepository String - Spécifie un référentiel alternatif dans lequel les artefacts de projet doivent être déployés (autres que ceux spécifiés dans <distributionManagement>). Format: id :: layout :: url

( la source )

Donc, dans votre cas: releaseRepository::default::http://your.repo.url (voir ici pour la mise en page)

31
user180100

"layout" est un commutateur existant fourni pour assurer la compatibilité ascendante avec Maven 1 et, à ce stade, un anachronisme. Si vous utilisez Maven 2 ou Maven 3 (comme je le pense, au moins 99,99% du monde doit être à ce stade), il s’agit bien de "défaut", comme décrit ailleurs par la suite. En affirmant que la réponse est "défaut" sans équivoque, la question de l'utilité du commutateur est évitée; s'il est toujours "default", lequel existe-t-il encore?

Si vous utilisez encore Maven 1, cela devrait être "hérité", mais j'espère que personne ne l’est. Tout cela est décrit dans les spécifications Maven:

layout Valeur par défaut pour la disposition Maven2 ou héritée pour la disposition Maven1. Maven3 utilise également la disposition par défaut.

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

0
Alex Kogon