Repository Maven emplacement malheurs
Je suis de reconfigurer un serveur de build que quelqu'un d'autre de l'installation il y a longtemps à l'utilisation d'un nouveau référentiel. Toutefois, l'ancien dépôt est encore référencée et je ne peux pas comprendre où cette référence est à venir.
M2_HOME=/usr/share/maven2
/etc/maven2/m2.conf (usr/share/maven2/conf/m2.conf liens ici)
main is org.apache.maven.cli.MavenCli from plexus.core
set maven.home default ${user.home}/m2
[plexus.core]
load ${maven.home}/lib/*.jar
/etc/maven2/conf a aussi un settings.xml avec toutes les entrées commenté.
La construction utilisateur dispose d'un ~/.m2/settings.xml: référencement NewRepo.
<settings>
<pluginGroups>
</pluginGroups>
<servers>
</servers>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>personal</id>
<repositories>
<repository>
<id>new-repo</id>
<name>New Maven 2 Repo</name>
<url>http://NewRepo/</url>
</repository>
<!-- Some other standard repos like maven.org here -->
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ibiblio</id>
<name>Ibiblio Maven 2 Repo</name>
<url>http://repo1.maven.org/maven2/</url>
</pluginRepository>
<pluginRepository>
<id>apache-snapshots</id>
<name>Apache Snapshots Maven 2 Repo</name>
<url>http://people.apache.org./maven-snapshot-repository/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
Il ya aussi un /mnt/public/maven/settings.xml avec exactement le même contenu que la construction de l'utilisateur settings.xml
J'ai cherché sur le système de fichiers entier pour s'assurer il n'y a pas d'autres settings.xml les fichiers.
Lors de l'exécution de
mvn release:prepare
- Je obtenir de l'avertissement:
[INFO] REMARQUE: Maven est en cours d'exécution dans
mode hors-ligne. Tous les artefacts pas
déjà dans votre référentiel local sera
être inaccessible.
Lors de l'exécution de
mvn release:perform
J'obtiens l'erreur:
Erreur déploiement d'artefact: Échec de l'
transfert de fichier: http://OldRepo
Où pourrait que la référence à l'adresse http://OldRepo se cacher?
MODIFIER
Du projet pom.xml les références à un parent POM comme suit:
<parent>
<groupId>MyParent</groupId>
<artifactId>maven</artifactId>
<version>20090727</version>
</parent>
Il n'y a aucune référence à
<distributionManagement>
dans le POM du projet. J'ai été incapable de localiser le POM parent.
Le pom parent doit être dans votre local repo (suivre le groupId)
OriginalL'auteur Eric J. | 2009-10-19
Vous devez vous connecter pour publier un commentaire.
Sur
référentiels
à l'intérieur d'unprofile
déclaré dans lesettings.xml
, la documentation dit:Ce n'est donc pas utilisé pour la gestion de la sortie. Pour configurer où un artefact est déployé, vous devez ajouter un
distributionManagement
élément dans votre pom.Ce qui suit est un exemple de la façon dont un
distributionManagement
élément peut être configuré dans un projet pom.xml fichier.Look pour cet élément dans votre pom ou chez un parent, un pom (il pourrait être déclaré dans un pom parent).
EDIT: vous pouvez remplacer le
distributionManagement
dans votre pom mais il serait préférable de le modifier dans le pom parent et de publier cette nouvelle version dans votre référentiel d'entreprise si c'est un changement définitif.Vous pouvez déclarer un parent à l'aide de son
groupId
,artifactId
etversion
, sans lerelativePath
, si ce parent a été publié dans votre référentiel d'entreprise. C'est en fait la façon dont une "entreprise" pom doit être utilisé (ce qui semble être le cas ici). Le pom parent doit avoir été téléchargé dans votre dépôt local.Ah, qu'il a fait. Le POM parent est dans le référentiel.
OriginalL'auteur Pascal Thivent
Peut-être est ridicule de suggérer, mais avez-vous essayé avec votre vieil ami
grep
, si est-il disponible?bonne chance alors 🙂
OriginalL'auteur pedromarce