Le contenu de cet article explique comment résoudre le problème virtuel selon lequel Maven ne peut pas télécharger le package jar dépendant (exemple d'explication). Il a une certaine valeur de référence. J'espère que cela sera utile. toi.
La société a construit un serveur privé Maven en interne et a créé un package jar de base. La première version est xxx-core.1.0.0.SNAPSHOT, qui peut être utilisée normalement dans les environnements locaux et de projet. Pour prendre en charge le lancement, une version stable, xxx-core.1.0.0.jar, est publiée.
La compilation locale est normale, le démarrage est normal, environnement de projet, lorsque gitlab est automatiquement déployé sur Rancher après soumission, je trouve que le package jar ne peut pas être téléchargé.
Configuration du référentiel du fichier pom.xml :
<repositories> <repository> <id>xxxxx.releases</id> <name>Releases</name> <url>https://nexus.xxxxxx.com/repository/maven-releases</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>xxxxxx.snapshots</id> <name>Snapshot</name> <url>https://nexus.huilianyi.com/repository/maven-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository></repositories>
Message d'erreur Maven lors de la compilation :
Failed to execute goal on project service: Could not resolve dependencies for project com.xxxxx:service:war:1.0-SNAPSHOT: Failure to find com.xxxxx-core:jar:1.0.0 in https://nexus.xxxx.com/repository/maven-releases was cached in the local repository, resolution will not be reattempted until the update interval of xxx.releases has elapsed or updates are forced -> [Help 1]
L'invite est que l'identifiant du référentiel configuré dans la bibliothèque privée : xxx.releases a un intervalle de mise à jour du cache. Avant cette heure de mise à jour, le fichier jar est obtenu à partir du cache, donc. le nouveau Le package jar téléchargé dans l'entrepôt xxx-core.1.0.0.jar n'est pas dans le cache
, il n'est donc pas extrait.
Solution :
pom.xml remplacé par :
<repositories> <repository> <id>xxxxx.releases</id> <name>Releases</name> <url>https://nexus.xxxxxx.com/repository/maven-releases</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>xxxxxx.snapshots</id> <name>Snapshot</name> <url>https://nexus.huilianyi.com/repository/maven-snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository></repositories>
b99d2114378b6c85aa5339aed392eaf5 , télécharge toujours les dernières dépendances dans le référentiel.
Remarque : après l'avoir retiré, vous devez supprimer cette configuration, sinon vous devrez télécharger le package jar à chaque fois, ce qui prend beaucoup de temps à compiler.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!