Dépendances des instantanés de mise à jour de Maven Force
Ici est le résultat de mvn -version:
Apache Maven 3.0.4 (r1232337; 2012-01-17 00:44:56-0800)
Maven home: /usr/share/maven
Java version: 1.7.0_67, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"
Supposons que j'ai un instantané de la dépendance:
<dependency>
<groupId>org.puzzled</groupId>
<artifactId>foo</artifactId>
<version>1.0.4-SNAPSHOT</version>
</dependency>
J'ai téléchargé la copie de cet instantané dans mon local repo. Mais alors, d'autres développeurs ont apporté des améliorations et il y a une mise à jour de la foo-1.0.4-SNAPSHOT.jar. Je veux question Maven un ordre exécutif de mettre à jour que la dépendance en la téléchargeant à partir d'un dépôt distant.
Selon la réponse à cette et beaucoup d'autres questions, ALORS, si je ne
mvn clean -U package
il faut suffit de (re)télécharger toutes les dépendances. Droit? Ce n'est pas ce qui se passe. Il télécharge les métadonnées pour l'instantané dépendances, en déduit (et à tort) qu'aucune mise à jour est nécessaire. J'ai supprimer les sous-répertoire dans mon local .m2 référentiel Maven pour mettre à jour un aperçu libération à partir de la télécommande repo, même avec l'option-U drapeau.
Est-ce un bug ou ai-je raté quelque chose?
source d'informationauteur dgorur
Vous devez vous connecter pour publier un commentaire.
Est-il possible que le référentiel est la publication de votre
foo
à l'aide d'un non-unique nom de l'INSTANTANÉ?Ce l'entrée de blog explique bien la différence entre un unique et non-INSTANTANÉ unique artefact.
C'est le principe de non-unique si l'artefact de métadonnées s'affiche sur nexus comme
foo-1.0.4-SNAPSHOT.jar
. Il est unique si elle apparaît commefoo-1.0.4-20160122.172609-36.jar
.Vous pouvez seulement publier instantané unique artefacts Maven 3, mais encore résoudre de vieux horodaté non unique instantanés... mais c'est assez douteux. En prenant un coup d'oeil à la ancienne docil semble qu'il y a un peu floue et vague de l'interaction entre le système de fichiers de la date et de l'metadata.xml à la fois en local et à distance des machines.
Essentiellement: (1) assurez-vous que votre capture d'écran dépendances sont publiés avec des objets uniques, et (2) s'ils ne sont pas, ne dépendent pas de nouveaux Instantanés d'être détecté. Utilisation
mvn dependency:purge-local-repository
appropriée comprend supprimer les anciennes photos de vos locaux m2 à la place.-U signifie forcer la mise à jour des dépendances.
Il est probable que les métadonnées est cassé, que ce soit dans le lien à partir duquel vous téléchargez l'artefact ou dans votre dépôt local.
Si le Nexus est le vôtre, je voudrais reconstruire les métadonnées.