Comment désactiver le blocage par Maven des référentiels HTTP externes ?
Maven est un outil répandu dans le développement Java. Il permet de gérer efficacement ses projets en s'occupant entre autres des dépendances et de la construction, du reporting ou encore de la documentation. Maven est régulièrement mise à jour avec des nouveautés et des améliorations, notamment au niveau de la sécurité. La version 3.8.1 désactive l'accès aux adresses HTTP externes par défaut. Ce comportement a pour but de pousser les utilisateurs à privilégier le protocole HTTPS, qui est nettement plus sécurisé. Si votre dépôt n'a pas d'URL commençant par "https", il va falloir modifier la configuration de l'outil.
Si vous travaillez sur des projets en collaboration avec d'autres personnes, vous devez effectuer cette configuration au niveau du projet. Créez un répertoire ".mvn" à la racine du dossier de votre projet. Créez un fichier "maven.config" avec le contenu suivant :
--settings ./.mvn/local-settings.xml
Créez ensuite le fichier "local-settings.xml", toujours dans le dossier ".mvn". Ajoutez une entrée "mirror" pour chaque dépôt bloqué. Dans la balise "id", vous devez indiquer l'identifiant de votre dépôt bloqué, et dans la balise "url", renseignez alors l'URL du dépôt commençant par "http". Dans la balise "mirrorOf", indiquez la même valeur que dans la balise "id".
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd"> <mirrors> <mirror> <id>mon-dépôt-http-débloqué</id> <mirrorOf>mon-dépôt-http-débloqué</mirrorOf> <name></name> <url>http://url-de-mon-dépôt</url> </mirror> </mirrors> </settings>
Si vous travaillez seul sur votre projet, une solution plus simple existe. Elle va permettre de débloquer l'ensemble des URL commençant par "http". Vous pouvez modifier le fichier "settings.xml". Ce fichier de configuration est situé soit dans le chemin d'installation de Maven, dans le dossier "conf", soit dans le répertoire utilisateur, toujours dans le dossier "conf". Supprimez la section suivante pour désactiver le blocage des adresses commençant par "http".
<mirror> <id>maven-default-http-blocker</id> <mirrorOf>external:http:*</mirrorOf> <name>Pseudo repository to mirror external repositories initially using HTTP.</name> <url>http://0.0.0.0/</url> </mirror>