Votre projet n'a pas changé dans le train du retour, mais sa route réseau, si. Une adresse de proxy qui fonctionne au bureau peut être inaccessible à la maison. C'est un paramètre d'environnement, pas une raison de mettre le proxy de votre employeur dans le POM du projet.

Le modèle de paramètres de Maven place les définitions de proxy dans sa section de premier niveau proxies. Les profils de paramètres ne fournissent pas une seconde copie arbitraire de cette section. Ajouter un fragment XML en forme de proxy sous un profil n'en fait pas un mécanisme de bascule réseau pris en charge.

Une option simple consiste à conserver des paramètres approuvés pour chaque environnement et à sélectionner celui qui convient :

mvn --settings /path/to/settings-office.xml verify

L'exemple sélectionne explicitement les paramètres utilisateur. Utilisez la commande et le fichier adaptés à la compilation ; cela ne signifie pas que le fichier doit être commité avec des identifiants.

Gardez les différences minimes

Notez quels paramètres varient réellement : proxy actif, hôtes de contournement, miroirs et comptes de serveur requis. Un second fichier ne devrait pas retirer discrètement une politique de dépôt sans rapport ni utiliser un ancien mot de passe.

Vérifiez tous les paramètres globaux encore fusionnés avec les paramètres utilisateur sélectionnés. Un fichier explicite rend l'entrée visible, mais n'implique pas que Maven n'ait pas d'autres sources de configuration.

La bascule automatique exige un signal réel

Maven ne peut pas déduire « bureau » de l'emplacement de l'ordinateur portable au sens habituel. Un dispositif automatique a besoin d'un mécanisme externe de découverte ou de gestion pris en charge et d'une réponse définie lorsque ce mécanisme est indisponible.

Méfiez-vous des motifs de contournement larges destinés à désactiver le proxy à la maison. Ils peuvent aussi affecter des destinations internes ou masquer la route empruntée par une requête.

Pour une première réparation, privilégiez une sélection de paramètres visible et explicite. Une fois qu'elle fonctionne dans les deux environnements, toute automatisation peut reproduire cette configuration connue au lieu de réécrire sans cesse les instructions de compilation du projet.

Articles similaires