comment publier un projet qui dépend de la 3e partie de l'INSTANTANÉ projet maven
je voudrais diffuser un instantané du projet "foo-1.0-SNAPSHOT' à l'aide de maven version plugin. Le projet dépend de la 3e partie du module de bar-1.0-SNAPSHOT " qui n'est pas encore sorti.
J'utilise l'option "allowTimestampedSnapshots" dans mon projet pom.xml pour permettre horodaté clichés mais je suppose que la 3ème partie du module (bar) n'est pas datées, à moins que je construis moi-même comme maven se plaint toujours qu'il suspens INSTANTANÉ dépendances.
Est-il un moyen de valider le projet foo quel que soit dépendante de l'INSTANTANÉ de projets et si non, comment pourrais-je ajouter un horodatage à la 3ème partie du projet?
Vous devez vous connecter pour publier un commentaire.
La réponse courte, c'est de voir la réponse suivante.... la réponse longue est que vous pouvez travailler autour d'elle.
Le seul moyen que j'ai affronté dans le passé, c'est effectivement de la fourche de la 3e partie de la bibliothèque et couper un communiqué de moi-même. Bien sûr, cela est plus facile à dire qu'à faire et il est tout simplement difficile si la bibliothèque est vaste et complexe et impossible si la 3ème partie de la bibliothèque est fermée à la source. Une route plus facile peut-être à l'approche de la 3e partie et demandez-leur de couper un communiqué.
Une autre option peut être de copier leurs pom (s'assurer qu'il n'a pas de captures d'écran) modifier les informations de version et de l'installer manuellement le pom et de l'artefact dans votre référentiel.
-DignoreSnapshots=true
à la libération, même avec le snapshot dépendances. Que vous devriez éviter de le faire et seulement si il n'y a absolument pas d'autre choix, c'est une autre histoire.Problème est avec le
allowTimestampedSnapshots
nom du paramètre, c'est dans la documentation, mais le plugin est source utilise un autre nom du paramètre dans l'expressionignoreSnapshots
.Juste utiliser
-DignoreSnapshots=true
et le but de préparer la version plugin va ignorer instantané dépendances.À l'aide de l'maven-release-plugin option
au lieu de
aidé dans mon cas, ce qui permettra d'utiliser les dépendances avec le snapshot de la version de préparer et exécuter un communiqué.
Cette option doit être manipulé avec beaucoup de soin, parce que l'utilisation des clichés de des versions une version peut plus tard casser votre mise en liberté, si l'instantané de la dépendance est mis à jour, ce qui dans le cas normal, n'est pas ce que vous voulez.
La réponse précédente a suggéré de remplacer le groupe et de l'artefact id...ne faites pas ce que maven ne pas le reconnaître comme le même objet, plus tard, lorsque cette dépendance est libéré et vous vous retrouverez avec deux copies, sur le chemin de la classe. Ma méthode préférée est de changer uniquement la version et je vais faire quelque chose comme : [version originale]-[mon org nom]-[version svn je l'ai tiré d'] si je reçois quelque chose comme 1.0-SONATYPE-3425. En utilisant le svn rev, je peux toujours retirer la source de nouveau et le patch si nécessaire et de savoir exactement ce que je suis en utilisant sans tirer l'ensemble de la source dans mon propre svn.
Mise à jour - je blogué sur ce dos pendant une.
Il suffit d'installer le pot avec une pom-vous propre. En général j'ai changer de groupe et de l'artefact id, il est clair que ce n'est pas la version officielle, mais c'est généralement la meilleure solution à votre problème.