maven : déployer artefact de nom de fichier
Hi : Im trouver que maven déploie par défaut changer le nom du fichier à correspondre à la version+artefact id. Par exemple
Le déploiement d'un fichier jar, avec artefact=A et version=V-0.1 entraînera dans un fichier jar nommé AV-0.1.jar.
Est-il un moyen de modifier le nom par défaut du fichier jar dans le déploiement, de sorte qu'il ne marche pas concaténer ces feilds ou pour spécifier le déploiement final jar explicitement le nom de?
Double Possible de this question.
OriginalL'auteur jayunit100 | 2013-06-10
Vous devez vous connecter pour publier un commentaire.
Complexes réponse: Oui
Il est un peu difficile et vous devez être prudent, car les pom de ne pas obtenir de ré-écrit. Si seulement le maven dépôt distant (artifactory, ou nexus) le mettre dans le dossier approprié de la structure.
Si vous écrasez le déploiement du fichier de but dans le maven déployer objectif, vous pouvez remplacer les paramètres: http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
Un exemple qui serait toujours poster la version 4.5.1 nexus devrait ressembler à ceci:
(et avant que quelqu'un demande à, une raison pour faire quelque chose comme cela, c'est de faire des builds plus CI-friendly. dans CI, tout est juste un numéro de version, il n'est pas vraiment une "créer une version de", chaque checkin le rendement d'un prêt à la production de l'artefact. Donc, en remplaçant 4.5.1 avec
${BUILD_NUMBER}
vous laisse avec de nombreux de nombreux communiqués dans votre artefact de stockage ...)maven-shade-plugin
. Maintenant, je déploiement de deux fichiers de mon système cible: L'ancienne avec l'horodatage et la nouvelle qui vient de votre solution là-haut ^^Le
shadedArtifactAttached
etshadedClassifierName
options de l'maven ombre plugin peut vous aider. Voir cet exemple: maven.apache.org/plugins/maven-shade-plugin/examples/...c'est une bonne solution, mais comment dois-je faire quand j'ai besoin de prendre soin de référentiel et de la libération de référentiel?
OriginalL'auteur mglauche
À l'aide de curl en ligne de commande, il semble être possible de nourrir le lien avec ce que vous voulez.
Pour moi cela à fonctionné parfaitement. Ce qui est génial, c'est qu'il fonctionne sans pom.xml.
Mise à jour: cette réponse pourrait être utile pour celui qui cherche la façon de contourner Maven concept et de déployer l'arbitraire d'un fichier nommé à la Nexus. Si la question est de savoir comment le faire en utilisant à savoir Maven, alors je suis d'accord avec la réponse "Pas possible".
OriginalL'auteur Alexander Samoylov
Réponse Simple à cette question est: Non.
Le problème c'est que si vous modifiez le schéma d'affectation de noms, il ne sera pas possible de trouver des artefacts dans un référentiel. C'est la raison pour avoir un fixe schéma d'affectation de noms.
OriginalL'auteur khmarbaise
La commande ci-dessus va placer le fichier dans la structure suivante.
Si vous voulez juste pour rendre le nom du fichier créé différents entre consécutives pousse à la artifactory, vous pouvez utiliser -Dpackaging paramètre. c'est à dire. Définissez la valeur sur le timestamp actuel
OriginalL'auteur Kagan Coskun