Maven n'utilisant pas de référentiel local
J'ai un petit problème avec mon Maven config. Toutes les autres questions et réponses ici ne résout pas mon problème, si je commence une nouvelle question.
Mon problème, c'est que mon Maven n'est pas en utilisant le référentiel local. Il est toujours à chercher les artefacts provenant des dépôts distants.
Lorsqu'un objet est téléchargé ou lorsque je crée un projet, il est installé dans le dépôt local, de sorte que le chemin d'accès est correct.
Le problème est: Quand je créer un INSTANTANÉ de projet, il est installé dans le référentiel local (devrait être comme ça, et ne veux pas le publier sur mon nexus à chaque fois). Quand je construis un autre projet ayant le précédent de la dépendance dans le pom.xml maven veut télécharger l'artefact de la nexus serveur où il n'a pas à le trouver au lieu de le prendre à partir du référentiel local.
C'est mon maven config:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>C:\Users\Marc\.m2\repository</localRepository>
<interactiveMode>false</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<pluginGroups>
</pluginGroups>
<servers>
<server>
<id>releases</id>
<username>MY_USERNAME</username>
<password>MY_PASSWORD</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>snapshots</id>
<username>MY_USERNAME</username>
<password>MY_PASSWORD</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>nexus</id>
<username>MY_USERNAME</username>
<password>MY_PASSWORD</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
</servers>
<profiles>
<profile>
<id>nexussrv</id>
<repositories>
<repository>
<id>snapshots</id>
<url>http://nexus/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
<repository>
<id>releases</id>
<url>http://nexus/content/repositories/releases</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>nexus</id>
<url>http://nexus/content/groups/public</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexussrv</activeProfile>
</activeProfiles>
</settings>
Téléchargement à partir de la nexus et de la publication des artefacts (INSTANTANÉ et de presse) sur les relations de travail avec cette config mais ça ne veut pas utiliser les artefacts à partir du référentiel local.
Merci pour votre Aide!
OriginalL'auteur Marc Vollmer | 2013-10-04
Vous devez vous connecter pour publier un commentaire.
Vous avez configuré que les clichés toujours (
<updatePolicy>always</updatePolicy>
) être téléchargé à partir de votre capture d'écran-nexus. Donc, même si votre cache local (le~/.m2/repository
) a une version plus récente de l'instantané, maven essaie de le télécharger à partir du serveur configuré (http://nexus/content/repositories/snapshots
).Penser à changer la updatePolicy pour l'instantané. E. g. si vous avez un CI-serveur qui déploie un INSTANTANÉ de tous les jours (le matin) à l'instantané-nexus, changer la updatePolicy à
daily
.Comme mentionné, maven vérifie ensuite le lien une fois par jour. C'est seulement utilisable, si vous avez quelques clichés (par exemple si un CI-serveur déploie). Si vous n'aurez jamais shnapshots sur le nexus, vous devez définir la updatePolicy à jamais.
avoir de travail maintenant. merci!
OriginalL'auteur MrD