2017-05-25 4 views
0

J'ai un travail jenkins qui construit des fichiers jar XML beans à partir du projet interne gitlab et le met sur l'artefactaire. Tout en ayant une construction, ces fichiers jar XML beans sont téléchargés dans le dépôt local .m2 maven. Cependant, si ce fichier jar existe dans le dépôt .m2 alors maven ne prend pas la peine de le télécharger depuis l'artefact. En étant dit, s'il y a un changement de gitlab, il le construit et le place sur l'artificiel. Comme il existe déjà un fichier jar dans le dépôt .m2, un ancien fichier jar n'est pas remplacé par le nouveau. Nous avons fini par avoir une mauvaise dépendance envers le client avec une version. La question est, Qu'est-ce que je fais mal ici?.m2 n'est pas mis à jour avec les derniers fichiers jar xmlbeans

+0

Avez-vous incrémenter la version du nouveau fichier jar? – haschibaschi

+0

Non! Je n'ai pas mis à jour la version. J'ai la version 5050 et nous apportons une modification à ce fichier jar de temps en temps. Une fois que nous faisons le changement, nous ne voulons pas revenir aux plus anciens, alors nous n'avons jamais voulu gérer différentes versions. Je m'attends à ce qu'il écrase chaque fois que Maven fonctionne. Est-ce que je m'attends à un mauvais comportement? – Drew

+0

Ce n'est pas un bon motif pour changer un artefact et le reconstruire avec la même version, la version devrait s'incrémenter si l'artefact change. Une exception à cela est lorsque vous travaillez avec des instantanés. Si vous ne travaillez pas avec des instantanés, maven ne téléchargera plus l'artefact avec la même version. – haschibaschi

Répondre

0
mvn clean install -U 

-U signifie maven forceront les dépendances de l'instantané de mise à jour. Les dépendances de publication ne peuvent pas être mises à jour de cette manière.

+0

vous voulez dire, une fois que j'ai une dépendance téléchargée dans le dépôt local, elle ne se mettra jamais à jour toute seule sans l'option -U flag/switch? – Drew